@charset "UTF-8";
/*
 * Mixin
 * -------------------------------------------------------------------
 */
/*
 * Reset & base
 * -------------------------------------------------------------------
 */
/* A Modern CSS Reset */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html {
  scroll-behavior: auto;
}

body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

/*
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
*/
/*
 * HTML
 * -------------------------------------------------------------------
 */
html {
  font-size: 100%;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(0.8333333333vw,16px);
  line-height: 1.8;
  letter-spacing: 0;
  color: #221815;
  font-weight: 400;
  font-style: normal;
  background: #ffffff;
  overflow-x: hidden;
  width: 100vw;
}
body.page {
  background: #F5F4ED;
}
body.page.page-company {
  background: #ffffff;
}
@media screen and (max-width: 750px) {
  body {
    font-size: 4.1025641026vw;
  }
}

a {
  text-decoration: none;
  outline: none;
  color: #221815;
}
a:hover, a:active {
  text-decoration: none;
  color: #221815;
}

h1 {
  font-size: min(2.5vw,48px);
  line-height: 1.5;
  font-weight: 700;
}
h2 {
  font-size: min(2.0833333333vw,40px);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  h2 {
    font-size: 8.2051282051vw;
  }
}

h3 {
  font-size: min(1.6666666667vw,32px);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  h3 {
    font-size: 6.1538461538vw;
  }
}

h4 {
  font-size: min(1.25vw,24px);
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  h4 {
    font-size: 4.6153846154vw;
  }
}

h5 {
  font-size: min(1.0416666667vw,20px);
  line-height: 1.5;
  font-weight: 700;
}
/*
 * wrapper
 * -------------------------------------------------------------------
 */
.skip-to-content {
  display: none;
}

.wrapper {
  display: block;
  margin: 0 auto;
  padding: 0;
  width: min(100vw,1920px);
  height: 100%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 750px) {
  .wrapper {
    width: 100vw;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 750px) {
  .sp {
    display: inline !important;
  }
}

.pc {
  display: inline !important;
}
@media screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
}

.sp_block {
  display: none !important;
}
@media screen and (max-width: 750px) {
  .sp_block {
    display: block !important;
  }
}

.pc_block {
  display: block !important;
}
@media screen and (max-width: 750px) {
  .pc_block {
    display: none !important;
  }
}

@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes growShrink {
  0% {
    clip-path: inset(0 0 0 0);
  }
  50% {
    clip-path: inset(0 0 0 100%);
  }
  50.1% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
/*
 * Module
 * -------------------------------------------------------------------
 */
.mainvisual {
  width: 100vw;
  height: 100vh;
  z-index: 1;
  overflow: hidden;
  background: url(../img/mainvisual/bg_n.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/mainvisual/bg_n.webp)) {
  .mainvisual {
    background: url(../img/mainvisual/bg_n.webp) center/cover no-repeat;
  }
}
.mainvisual .wrapper {
  background-image: radial-gradient(circle, #221815 0.5px, transparent 0.5px);
  background-position: 0 0;
  background-size: 5px 5px;
}
.mainvisual .read {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: absolute;
  top: 50%;
  left: 25%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  gap: min(1vw,19.2px);
}
.mainvisual .read:nth-of-type(2) {
  left: 75%;
}
@media screen and (max-width: 750px) {
  .mainvisual .read {
    gap: 2.0512820513vw;
    white-space: nowrap;
  }
  .mainvisual .read:nth-of-type(1) {
    display: none;
  }
  .mainvisual .read:nth-of-type(2) {
    left: 50%;
  }
}
.mainvisual .read span {
  display: block;
  background-color: rgba(0, 0, 0, 0.7);
  color: #ffffff;
  font-weight: 500;
  font-size: min(2.8vw,53.76px);
  line-height: 1;
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .mainvisual .read span {
    font-size: 13.7846153846vw;
    line-height: 18.4615384615vw;
    height: 18.4615384615vw;
    padding: 0 4.1025641026vw;
  }
}
.mainvisual .contact-btn {
  position: fixed;
  right: min(3.4895833333vw,67px);
  bottom: min(2.2395833333vw,43px);
  width: min(5.2083333333vw,100px);
  height: min(5.2083333333vw,100px);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(0.4166666667vw,8px);
  font-size: min(0.7291666667vw,14px);
  font-weight: 700;
  letter-spacing: max(-0.0260416667vw,-0.5px);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  z-index: 100;
}
@media screen and (max-width: 750px) {
  .mainvisual .contact-btn {
    right: 5.1282051282vw;
    bottom: 5.1282051282vw;
    width: 16.1179487179vw;
    height: 16.1179487179vw;
    gap: 1.5538461538vw;
    font-size: 2.3076923077vw;
    letter-spacing: -0.1282051282vw;
  }
}
.mainvisual .contact-btn img {
  width: min(1.25vw,24px);
  height: min(1.0416666667vw,20px);
}
@media screen and (max-width: 750px) {
  .mainvisual .contact-btn img {
    width: 3.8692307692vw;
    height: 3.2179487179vw;
  }
}
.mainvisual .contact-btn::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  transform-origin: center;
  display: block;
  width: min(5.2083333333vw,100px);
  height: min(5.2083333333vw,100px);
  border-radius: 50%;
  background-color: #221815;
}
@media screen and (max-width: 750px) {
  .mainvisual .contact-btn::before {
    width: 16.1179487179vw;
    height: 16.1179487179vw;
  }
}
.mainvisual .contact-btn svg {
  width: min(6.9791666667vw,134px);
  height: min(6.9791666667vw,134px);
  position: absolute;
  transition: all 0.3s ease;
  animation: rotateAnimation 10s linear infinite;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .mainvisual .contact-btn svg {
    width: 21.2820512821vw;
    height: 21.2820512821vw;
  }
}
.mainvisual .contact-btn:hover::before {
  width: min(7.2916666667vw,140px);
  height: min(7.2916666667vw,140px);
}
@media screen and (max-width: 750px) {
  .mainvisual .contact-btn:hover::before {
    width: 22.5641025641vw;
    height: 22.5641025641vw;
  }
}
.mainvisual .contact-btn:hover svg .path-text {
  fill: #ffffff;
}
.mainvisual .contact-btn:hover svg .path-circle {
  stroke: #ffffff;
}

.scroll-bar {
  font-family: "Open Sans", sans-serif;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: min(0.4166666667vw,8px);
  width: min(13.4635416667vw,258.5px);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 1;
    bottom: 20px;
}
@media screen and (max-width: 750px) {
  .scroll-bar {
    gap: 4.1025641026vw;
    width: 52.8205128205vw;
  }
}
.scroll-bar::after {
  content: "";
  display: block;
  height: 2px;
  width: min(10vw,192px);
  background-color: #ffffff;
  animation: growShrink 1.5s ease-in-out infinite;
}
@media screen and (max-width: 750px) {
  .scroll-bar::after {
    width: 32.8205128205vw;
  }
}
@media screen and (max-width: 750px) {
  .scroll-bar {
    bottom: 5.1282051282vw;
  }
}

.nav_global {
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-works .nav_global {
  padding: 1px;
  border: 1px solid #221815;
  border-radius: min(0.2083333333vw,4px);
}
.nav_global ul {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #ffffff;
  margin: 0;
  padding: 0;
  border-radius: min(0.2083333333vw,4px);
  list-style: none;
  position: relative;
  z-index: 0;
  border: 1px solid #ffffff;
}
@media screen and (max-width: 750px) {
  .nav_global ul {
    border-radius: 1.0256410256vw;
  }
}
.nav_global ul li {
  z-index: 2;
}
.nav_global ul li.main_navi_active {
  position: absolute;
  top: 0;
  left: 0;
  height: min(1.5625vw,30px);
  width: min(4.6494791667vw,89.27px);
  background-color: #221815;
  border-radius: min(0.15625vw,3px);
  z-index: 1;
  transition: all 0.3s ease;
}
@media screen and (max-width: 750px) {
  .nav_global ul li.main_navi_active {
    height: 10.2564102564vw;
    width: 14.4846153846vw;
    border-radius: 0.7692307692vw;
  }
}
.nav_global ul li.--home.active ~ .main_navi_active {
  left: 0;
  width: min(4.6494791667vw,89.27px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--home.active ~ .main_navi_active {
    width: 14.4846153846vw;
  }
}
.nav_global ul li.--service.active ~ .main_navi_active {
  left: min(4.6494791667vw,89.27px);
  width: min(5.4526041667vw,104.69px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--service.active ~ .main_navi_active {
    left: 14.4846153846vw;
    width: 17.5692307692vw;
  }
}
.nav_global ul li.--works.active ~ .main_navi_active {
  left: min(10.1020833333vw,193.96px);
  width: min(5.23125vw,100.44px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--works.active ~ .main_navi_active {
    left: 32.0538461538vw;
    width: 16.7512820513vw;
  }
}
.nav_global ul li.--company.active ~ .main_navi_active {
  left: min(15.3333333333vw,294.4px);
  width: min(6.4739583333vw,124.3px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--company.active ~ .main_navi_active {
    left: 48.8051282051vw;
    width: 21.341025641vw;
  }
}
.nav_global ul li.--contact.active ~ .main_navi_active {
  left: min(21.8072916667vw,418.7px);
  width: min(6.1140625vw,117.39px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--contact.active ~ .main_navi_active {
    left: 70.1461538462vw;
    width: 20.0128205128vw;
  }
}
.nav_global ul li.--home:hover ~ .main_navi_active {
  left: 0;
  width: min(4.6494791667vw,89.27px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--home:hover ~ .main_navi_active {
    width: 14.4846153846vw;
  }
}
.nav_global ul li.--service:hover ~ .main_navi_active {
  left: min(4.6494791667vw,89.27px);
  width: min(5.4526041667vw,104.69px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--service:hover ~ .main_navi_active {
    left: 14.4846153846vw;
    width: 17.5692307692vw;
  }
}
.nav_global ul li.--works:hover ~ .main_navi_active {
  left: min(10.1020833333vw,193.96px);
  width: min(5.23125vw,100.44px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--works:hover ~ .main_navi_active {
    left: 32.0538461538vw;
    width: 16.7512820513vw;
  }
}
.nav_global ul li.--company:hover ~ .main_navi_active {
  left: min(15.3333333333vw,294.4px);
  width: min(6.4739583333vw,124.3px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--company:hover ~ .main_navi_active {
    left: 48.8051282051vw;
    width: 21.341025641vw;
  }
}
.nav_global ul li.--contact:hover ~ .main_navi_active {
  left: min(21.8072916667vw,418.7px);
  width: min(6.1140625vw,117.39px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.--contact:hover ~ .main_navi_active {
    left: 70.1461538462vw;
    width: 20.0128205128vw;
  }
}
.nav_global ul li a {
  padding: 0 min(1.0416666667vw,20px);
  height: min(1.5625vw,30px);
  display: flex;
  align-items: center;
  text-decoration: none;
  /*&:hover{
      .link_text span{
          top: vw(-$base_font_size);
      }
  }*/
}
@media screen and (max-width: 750px) {
  .nav_global ul li a {
    padding: 0 2.5641025641vw;
    height: 10.2564102564vw;
  }
}
.nav_global ul li a .link_text {
  display: block;
  height: min(0.8333333333vw,16px);
  overflow: hidden;
  position: relative;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .nav_global ul li a .link_text {
    height: 3.0769230769vw;
    font-size: 3.0769230769vw;
  }
}
.nav_global ul li a .link_text span {
  display: block;
  position: relative;
  transition: all 0.3s ease;
  top: 0;
}
.nav_global ul li a .link_text span:last-child {
  color: #ffffff;
}
.nav_global ul li:hover a .link_text span {
  top: max(-0.8333333333vw,-16px) !important;
}
@media screen and (max-width: 750px) {
  .nav_global ul li:hover a .link_text span {
    top: -3.0769230769vw !important;
  }
}
.nav_global ul li.active a .link_text span {
  top: max(-0.8333333333vw,-16px);
}
@media screen and (max-width: 750px) {
  .nav_global ul li.active a .link_text span {
    top: -3.0769230769vw;
  }
}
.nav_global ul:hover:not(li) a .link_text span {
  top: 0;
}

#page_header {
  width: 100vw;
  height: min(16.3541666667vw,314px);
  padding-top: min(6.6666666667vw,128px);
}
@media screen and (max-width: 750px) {
  #page_header {
    height: 53.5897435897vw;
    padding-top: 26.9230769231vw;
  }
}
.post-works #page_header {
  background-color: #221815;
}
.post-works #page_header h1,
.post-works #page_header h2 {
  color: #ffffff;
}
.post-works #page_header span {
  color: #FA6376;
}
.page-about-us #page_header {
  padding: 0;
  height: 100vh;
}
.page-about-us #page_header video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  filter: brightness(0.65);
}
.page-about-us #page_header .dots {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, #221815 0.5px, transparent 0.5px) 0 0/5px 5px;
}
.page-about-us #page_header .wrapper {
  background: url(../img/about/bg_bottom.svg) bottom/100% no-repeat;
	top: -31px;
}
@media screen and (max-width: 750px) {
	.page-about-us #page_header .wrapper {
  background: url(../img/about/bg_bottom.svg) bottom/100% no-repeat;
	top: -45px;
}
}

.page-about-us #page_header .wrapper h1 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: min(3.9583333333vw,76px);
  font-weight: 700;
  color: #ffffff;
  letter-spacing: min(0.625vw,12px);
}
@media screen and (max-width: 750px) {
  .page-about-us #page_header .wrapper h1 {
    font-size: 12.3076923077vw;
    letter-spacing: 1.9487179487vw;
    line-height: 1.5;
    text-align: center;
  }
}
.page-about-us #page_header .wrapper > img {
  width: min(15.625vw,300px);
  margin-top: min(3.125vw,60px);
}
@media screen and (max-width: 750px) {
  .page-about-us #page_header .wrapper > img {
    width: 41.0256410256vw;
    margin-top: 6.1538461538vw;
  }
}
.page-service #page_header {
  padding: 0;
  height: 100vh;
  background: url(../img/service/bg.jpg) center/cover no-repeat;
  position: relative;
}
@media screen and (max-width: 750px) {
  .page-service #page_header {
    box-sizing: content-box;
    margin-bottom: 62.5641025641vw;
  }
}
@supports (background-image: url(../img/service/bg.webp)) {
  .page-service #page_header {
    background: url(../img/service/bg.webp) center/cover no-repeat;
  }
}
.page-service #page_header::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: url(../img/service/bg_bottom.svg) bottom/100% no-repeat;
}
@media screen and (max-width: 750px) {
  .page-service #page_header::after {
    display: none;
  }
}
.page-service #page_header .wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper {
    flex-direction: column;
    justify-content: unset;
  }
}
.page-service #page_header .wrapper > div {
  width: min(33.3333333333vw,640px);
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div {
    width: 100%;
  }
}
.page-service #page_header .wrapper > div h1 {
  font-size: min(1.25vw,24px);
  font-weight: 700;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  padding: min(0.5208333333vw,10px) min(0.8333333333vw,16px);
  background-color: #F44577;
  color: #ffffff;
  margin-bottom: min(1.1458333333vw,22px);
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div h1 {
    font-size: 3.0769230769vw;
    padding: 2.0512820513vw;
    margin-bottom: 3.3333333333vw;
  }
}
.page-service #page_header .wrapper > div p.bg_black {
  display: block;
  font-weight: 500;
  font-size: min(2.8vw,53.76px);
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  color: #ffffff;
  padding: min(0.8333333333vw,16px);
  background-color: rgba(0, 0, 0, 0.7);
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div p.bg_black {
    font-size: 6vw;
    padding: 4.1025641026vw;
  }
}
.page-service #page_header .wrapper > div p.bg_black + .bg_black {
  margin-top: min(1.40625vw,27px);
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div p.bg_black + .bg_black {
    margin-top: 3.8461538462vw;
  }
}
.page-service #page_header .wrapper > div p.bg_shadow {
  margin-top: min(1.6145833333vw,31px);
  font-size: min(0.8333333333vw,16px);
  font-weight: 700;
  color: #ffffff;
  line-height: 2;
  text-shadow: 0 min(0.2083333333vw,4px) min(0.2083333333vw,4px) rgba(0, 0, 0, 0.7);
  padding-left: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div p.bg_shadow {
    margin-top: 4.6153846154vw;
    font-size: 3.0769230769vw;
    text-shadow: 0 1.0256410256vw 1.0256410256vw rgba(0, 0, 0, 0.7);
    padding-left: 2.0512820513vw;
  }
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div:nth-of-type(1) {
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-left: 6.4102564103vw;
  }
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div:nth-of-type(2) {
    position: absolute;
    top: 100vh;
  }
}
.page-service #page_header .wrapper > div:nth-of-type(2) picture {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div:nth-of-type(2) picture {
    height: 62.5641025641vw;
  }
  .page-service #page_header .wrapper > div:nth-of-type(2) picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
  }
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div:nth-of-type(2) > div {
    position: absolute;
    top: -24.8717948718vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
.page-service #page_header .wrapper > div:nth-of-type(2) > div > span {
  display: block;
  margin-top: min(1.4583333333vw,28px);
  text-align: center;
  font-size: min(0.8333333333vw,16px);
  color: #ffffff;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div:nth-of-type(2) > div > span {
    margin-top: 0;
    font-size: 2.5641025641vw;
  }
}
.page-service #page_header .wrapper > div:nth-of-type(2) > div > a.btn_pink {
  margin: min(0.4166666667vw,8px) auto 0;
}
@media screen and (max-width: 750px) {
  .page-service #page_header .wrapper > div:nth-of-type(2) > div > a.btn_pink {
    margin: 1.2820512821vw auto 0;
    font-size: 3.5897435897vw;
  }
}
.page-company #page_header, .page-contact #page_header, .page-privacy-policy #page_header {
  padding: 0;
  height: min(37.5vw,720px);
}
.page-company #page_header .wrapper h1, .page-contact #page_header .wrapper h1, .page-privacy-policy #page_header .wrapper h1 {
  font-family: "Open Sans", sans-serif;
  font-size: min(3.3333333333vw,64px);
  font-weight: 800;
  color: #F8BCAA;
  position: absolute;
  bottom: min(5.2083333333vw,100px);
}
@media screen and (max-width: 750px) {
  .page-company #page_header .wrapper h1, .page-contact #page_header .wrapper h1, .page-privacy-policy #page_header .wrapper h1 {
    font-size: 10.2564102564vw;
    bottom: 10.2564102564vw;
  }
}
.page-company #page_header .wrapper > span, .page-contact #page_header .wrapper > span, .page-privacy-policy #page_header .wrapper > span {
  font-size: min(1.3vw,18px);
  font-weight: 700;
  color: #ffffff;
  position: absolute;
  bottom: min(6.40625vw,123px);
}
@media screen and (max-width: 750px) {
  .page-company #page_header .wrapper > span, .page-contact #page_header .wrapper > span, .page-privacy-policy #page_header .wrapper > span {
    font-size: 3.0769230769vw;
    bottom: 13.8461538462vw;
  }
}
.page-company #page_header {
  background: url(../img/company/bg.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/company/bg.webp)) {
  .page-company #page_header {
    background: url(../img/company/bg.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .page-company #page_header {
    height: 56.4102564103vw;
    background: url(../img/company/bg_sp.jpg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/company/bg_sp.webp)) {
    .page-company #page_header {
      background: url(../img/company/bg_sp.webp) center/cover no-repeat;
    }
  }
}
.page-company #page_header.daylight {
  background: url(../img/company/bg2.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/company/bg2.webp)) {
  .page-company #page_header.daylight {
    background: url(../img/company/bg2.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .page-company #page_header.daylight {
    height: 56.4102564103vw;
    background: url(../img/company/bg2_sp.jpg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/company/bg2_sp.webp)) {
    .page-company #page_header.daylight {
      background: url(../img/company/bg2_sp.webp) center/cover no-repeat;
    }
  }
}
.page-company #page_header.sunset {
  background: url(../img/company/bg3.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/company/bg3.webp)) {
  .page-company #page_header.sunset {
    background: url(../img/company/bg3.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .page-company #page_header.sunset {
    height: 56.4102564103vw;
    background: url(../img/company/bg3_sp.jpg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/company/bg3_sp.webp)) {
    .page-company #page_header.sunset {
      background: url(../img/company/bg3_sp.webp) center/cover no-repeat;
    }
  }
}
.page-company #page_header.night {
  background: url(../img/company/bg4.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/company/bg4.webp)) {
  .page-company #page_header.night {
    background: url(../img/company/bg4.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .page-company #page_header.night {
    height: 56.4102564103vw;
    background: url(../img/company/bg4_sp.jpg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/company/bg4_sp.webp)) {
    .page-company #page_header.night {
      background: url(../img/company/bg4_sp.webp) center/cover no-repeat;
    }
  }
}
.page-contact #page_header {
  background: url(../img/contact/bg.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/contact/bg.webp)) {
  .page-contact #page_header {
    background: url(../img/contact/bg.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .page-contact #page_header {
    height: 56.4102564103vw;
    background: url(../img/contact/bg_sp.jpg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/contact/bg_sp.webp)) {
    .page-contact #page_header {
      background: url(../img/contact/bg_sp.webp) center/cover no-repeat;
    }
  }
}
.page-contact #page_header .wrapper span {
  color: #221815;
}
.page-privacy-policy #page_header {
  padding-top: min(6.6666666667vw,128px);
  height: min(18.3333333333vw,352px);
}
@media screen and (max-width: 750px) {
  .page-privacy-policy #page_header {
    height: 59.7435897436vw;
    padding-top: 26.9230769231vw;
  }
}
.page-privacy-policy #page_header .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-privacy-policy #page_header .wrapper h1 {
  bottom: min(2.5vw,48px);
  text-align: center;
}
@media screen and (max-width: 750px) {
  .page-privacy-policy #page_header .wrapper h1 {
    bottom: unset;
  }
}
.page-privacy-policy #page_header .wrapper span {
  bottom: min(5.3645833333vw,103px);
  color: #221815;
}
@media screen and (max-width: 750px) {
  .page-privacy-policy #page_header .wrapper span {
    bottom: unset;
  }
}
#page_header .wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(0.8333333333vw,16px);
}
#page_header .wrapper h1,
#page_header .wrapper h2 {
  font-family: "Open Sans", sans-serif;
  font-size: min(2.9166666667vw,56px);
  font-weight: 800;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  #page_header .wrapper h1,
  #page_header .wrapper h2 {
    font-size: 10.2564102564vw;
  }
}
#page_header .wrapper > span {
  font-size: min(1.2vw,18px);
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  #page_header .wrapper > span {
    font-size: 3.0769230769vw;
  }
}

.breadcrumbs {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  padding: min(0.4166666667vw,8px) 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: min(0.4166666667vw,8px);
  white-space: nowrap;
  overflow: hidden;
  list-style: none;
  font-size: min(0.625vw,12px);
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .breadcrumbs {
    width: 100%;
    padding: 4.1025641026vw 3.8461538462vw;
    gap: 2.0512820513vw;
    font-size: 3.0769230769vw;
  }
}
.page-about .breadcrumbs {
  margin-top: min(1.6666666667vw,32px);
}
.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .breadcrumbs li {
    gap: 2.0512820513vw;
  }
}
.breadcrumbs li:not(.active):after {
  content: "";
  width: min(0.2083333333vw,4px);
  height: min(0.3125vw,6px);
  background: url(../img/common/ico-breadcrumb-arrow.svg) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .breadcrumbs li:not(.active):after {
    width: 1.0256410256vw;
    height: 1.5384615385vw;
  }
}
.breadcrumbs li a {
  font-weight: bold;
}

.btn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: min(2.9166666667vw,56px);
  background-color: #FA6376;
  border-radius: min(1.4583333333vw,28px);
  padding: min(0.8333333333vw,16px) min(3.75vw,72px);
  transition: all 0.3s;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(0.5208333333vw,10px);
  font-size: min(1.0416666667vw,20px);
  font-weight: 700;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .btn {
    height: 14.358974359vw;
    border-radius: 7.1794871795vw;
    padding: 4.6153846154vw 14.1025641026vw;
  }
}
.btn:hover {
  background-color: #221815;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .btn {
    gap: 2.5641025641vw;
    font-size: 5.1282051282vw;
  }
}
.btn.mail::before {
  content: "";
  display: block;
  width: min(1.25vw,24px);
  height: min(1.0416666667vw,20px);
  background: url(../img/common/ico-mail.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .btn.mail::before {
    width: 6.1538461538vw;
    height: 5.1282051282vw;
  }
}

.btn_pink {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: min(3.75vw,72px);
  background-color: #F44577;
  border-radius: min(2.0833333333vw,40px);
  padding: min(1.25vw,24px) min(4.1666666667vw,80px);
  transition: all 0.3s;
  cursor: pointer;
  font-size: min(1.25vw,24px);
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
}
.btn_pink.shadow {
  box-shadow: min(0.2083333333vw,4px) min(0.2083333333vw,4px) 0 0 #000;
}
@media screen and (max-width: 750px) {
  .btn_pink.shadow {
    box-shadow: 1.0256410256vw 1.0256410256vw 0 0 #000;
  }
}
@media screen and (max-width: 750px) {
  .btn_pink {
    height: 11.0256410256vw;
    border-radius: 10.2564102564vw;
    padding: 3.5897435897vw 5.8974358974vw;
  }
}
.btn_pink:hover {
  background-color: #221815;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .btn_pink {
    font-size: 5.1282051282vw;
  }
}

.btn_yellow {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: min(3.75vw,72px);
  background-color: #FFED4D;
  border: 1px solid #221815;
  border-radius: min(2.0833333333vw,40px);
  padding: min(1.25vw,24px) min(3.125vw,60px);
  transition: all 0.3s;
  cursor: pointer;
  box-shadow: min(0.2083333333vw,4px) min(0.2083333333vw,4px) 0 0 #000;
  font-size: min(1.25vw,24px);
  line-height: 1;
  font-weight: 700;
  color: #221815;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .btn_yellow {
    height: 12.3076923077vw;
    border-radius: 6.1538461538vw;
    padding: 4.1025641026vw 10.2564102564vw;
  }
}
.btn_yellow:hover {
  background-color: #221815;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .btn_yellow {
    font-size: 4.1025641026vw;
  }
}
.btn_yellow.shadow {
  box-shadow: 0 min(0.2083333333vw,4px) 0 0 #000;
}
@media screen and (max-width: 750px) {
  .btn_yellow.shadow {
    box-shadow: 0 1.0256410256vw 0 0 #000;
  }
}

.btn_square {
  width: min(10.4166666667vw,200px);
  height: min(2.0833333333vw,40px);
  border: 1px solid #221815;
  border-radius: min(0.2083333333vw,4px);
  background-color: #FFED4D;
  font-size: min(0.8333333333vw,16px);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 min(0.2083333333vw,4px) 0 0 #ddd;
  transition: all 0.3s cubic-bezier(0.78, 0.07, 0, 1) 0.3s;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .btn_square {
    width: 51.2820512821vw;
    height: 10.2564102564vw;
    border-radius: 1.0256410256vw;
    font-size: 4.1025641026vw;
    box-shadow: 0 1.0256410256vw 0 0 #ddd;
  }
}
.btn_square:hover {
  color: #ffffff;
}
.btn_square:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.btn_square::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background-color: #221815;
  transition: transform 0.3s cubic-bezier(0.78, 0.07, 0, 1) 0.3s;
  transform: scaleX(0);
  transform-origin: right;
  z-index: -1;
}
.btn_square.toggle {
  box-shadow: none;
  width: min(16.6666666667vw,320px);
  height: min(3.3333333333vw,64px);
  padding: 0 min(5.0520833333vw,97px);
  position: relative;
  transition: all 0.3s;
}
@media screen and (max-width: 750px) {
  .btn_square.toggle {
    width: 82.0512820513vw;
    height: 16.4102564103vw;
    padding: 0 24.8717948718vw;
  }
}
.btn_square.toggle::after {
  content: "";
  width: min(1.25vw,24px);
  height: min(0.5208333333vw,10px);
  background: url(../img/common/ico-toggle.svg) center/contain no-repeat;
  position: absolute;
  right: min(1.2239583333vw,23.5px);
  top: 50%;
  transition: all 0.3s;
  transform: translateY(-50%) rotate(180deg);
}
@media screen and (max-width: 750px) {
  .btn_square.toggle::after {
    width: 6.1538461538vw;
    height: 2.5641025641vw;
    right: 6.0256410256vw;
  }
}
.btn_square.toggle.is-active::after {
  transform: translateY(-50%) rotate(0deg);
}
.btn_square.toggle:hover {
  transform: scale(1.1);
  color: initial;
}
.btn_square.toggle:hover::before {
  display: none;
}
.btn_square.arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  display: block;
  width: min(2.6041666667vw,50px);
  height: min(0.4166666667vw,8px);
  background: url(../img/contact/ico-arrow.svg) center/contain no-repeat;
  z-index: 1;
  transition: all 0.3s cubic-bezier(0.78, 0.07, 0, 1) 0.3s;
}
@media screen and (max-width: 750px) {
  .btn_square.arrow::after {
    width: 12.3076923077vw;
    height: 1.5384615385vw;
  }
}
.btn_square.arrow:hover::after {
  transform: translate(-50%, -50%);
  background: url(../img/contact/ico-arrow-w.svg) center/contain no-repeat;
}

.btn_elipse {
  display: block;
  width: min(9.375vw,180px);
  height: min(8.5416666667vw,164px);
  margin: 0 auto;
  background: url(../img/common/btn-elipse.svg) center/contain no-repeat;
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
  align-items: center;
  justify-content: center;
  font-size: min(0.9375vw,18px);
  font-weight: 700;
  color: #ffffff;
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .btn_elipse {
    width: 46.1538461538vw;
    height: 42.0512820513vw;
    gap: 2.0512820513vw;
    font-size: 4.6153846154vw;
  }
}
.btn_elipse::after {
  content: "";
  display: block;
  width: min(1.0416666667vw,20px);
  height: min(0.7291666667vw,14px);
  background: url(../img/common/ico-arrow.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .btn_elipse::after {
    width: 5.1282051282vw;
    height: 3.5897435897vw;
  }
}
.btn_elipse:hover {
  background: url(../img/common/btn-elipse-on.svg) center/contain no-repeat;
  color: #221815;
}
.btn_elipse:hover::after {
  background: url(../img/common/ico-arrow-black.svg) center/contain no-repeat;
}

.btn_tel {
  font-family: "Open Sans", sans-serif;
  font-size: min(1.25vw,24px);
  line-height: min(1.3541666667vw,26px);
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .btn_tel {
    font-size: 6.1538461538vw;
    line-height: 6.6666666667vw;
  }
}
.btn_tel span {
  margin: 0 min(0.2083333333vw,4px);
}
@media screen and (max-width: 750px) {
  .btn_tel span {
    margin: 0 1.0256410256vw;
  }
}
.btn_tel::before {
  content: "";
  display: block;
  width: min(1.25vw,24px);
  height: min(1.25vw,24px);
  margin-right: min(0.4166666667vw,8px);
  background: url(../img/common/ico-tel.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .btn_tel::before {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
    margin-right: 2.0512820513vw;
  }
}

.btn_toggle {
  width: min(1.6666666667vw,32px);
  height: min(1.6666666667vw,32px);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  background: url(../img/common/ico-plus.svg) center/contain no-repeat;
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .btn_toggle {
    width: 8.2051282051vw;
    height: 8.2051282051vw;
  }
}
.btn_toggle.open {
  background: url(../img/common/ico-minus.svg) center/contain no-repeat;
}

#pagetop {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  font-family: "Open Sans", sans-serif;
  width: min(4.53125vw,87px);
  font-size: min(0.8333333333vw,16px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: min(0.015625vw,0.3px);
  color: #FBBE11;
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
  transform-origin: left top;
  transform: rotate(-90deg);
  position: fixed;
  bottom: min(1.6666666667vw,32px);
  left: min(2.9166666667vw,56px);
  z-index: 1000;
}
#pagetop.is_show {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 750px) {
  #pagetop {
    width: 22.3076923077vw;
    font-size: 4.1025641026vw;
    letter-spacing: 0.0769230769vw;
  }
}
@media screen and (max-width: 750px) {
  #pagetop {
    gap: 2.0512820513vw;
  }
}
#pagetop::after {
  content: "";
  display: block;
  width: min(4.1666666667vw,80px);
  height: min(0.9375vw,18px);
  background: url(../img/common/ico-pagetop.svg) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  #pagetop::after {
    width: 20.5128205128vw;
    height: 4.6153846154vw;
  }
}
@media screen and (max-width: 750px) {
  #pagetop {
    bottom: 0vw;
    left: 3.8461538462vw;
  }
}

.swiper-container {
  margin-top: min(2.5vw,48px);
  /* メイン画像 */
  /* サムネ画像 */
}
@media screen and (max-width: 750px) {
  .swiper-container {
    margin-top: 8.2051282051vw;
  }
}
.swiper-container .mySwiperMain img {
  width: 100%;
  cursor: zoom-in;
}
.swiper-container .mySwiperThumbs {
  margin-top: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .swiper-container .mySwiperThumbs {
    margin-top: 4.1025641026vw;
    overflow: unset !important;
  }
}
.swiper-container .mySwiperThumbs .swiper-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .swiper-container .mySwiperThumbs .swiper-wrapper {
    justify-content: flex-start;
  }
}
.swiper-container .mySwiperThumbs .swiper-slide-thumb-active {
  opacity: 1 !important;
  position: relative;
}
.swiper-container .mySwiperThumbs .swiper-slide-thumb-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(0.3125vw,6px);
  background-color: #FF0065;
}
@media screen and (max-width: 750px) {
  .swiper-container .mySwiperThumbs .swiper-slide-thumb-active::after {
    height: 1.5384615385vw;
    background-color: #FF0065;
  }
}
.swiper-container .mySwiperThumbs .swiper-slide {
  width: min(8.3333333333vw,160px) !important;
  height: min(4.6875vw,90px) !important;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(0.2083333333vw,4px);
  opacity: 1;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .swiper-container .mySwiperThumbs .swiper-slide {
    width: 21.7948717949vw !important;
    height: 12.3076923077vw !important;
    border-radius: 0;
    margin-right: 1.5384615385vw !important;
  }
}
.swiper-container .mySwiperThumbs .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* 枠いっぱい → はみ出し部分はトリミング */
  -o-object-position: center;
     object-position: center;
  display: block;
}

/* モーダル */
.modal {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.modal img {
  max-width: 70vw;
  max-height: 70vh;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.modal .close {
  position: absolute;
  top: min(1.0416666667vw,20px);
  right: min(2.0833333333vw,40px);
  font-size: min(2.0833333333vw,40px);
  cursor: pointer;
  color: white;
}

.slider-liner {
  width: 100%;
  overflow: hidden;
}
.slider-liner + .slider-liner {
  margin-top: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .slider-liner + .slider-liner {
    margin-top: 1.0769230769vw;
  }
}
.slider-liner .swiper-wrapper {
  transition-timing-function: linear !important;
}
.slider-liner .swiper-slide {
  width: min(27.8125vw,534px);
}
@media screen and (max-width: 750px) {
  .slider-liner .swiper-slide {
    width: 47.8923076923vw;
  }
}
.slider-liner img {
  width: min(27.8125vw,534px);
  height: min(15.625vw,300px);
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 750px) {
  .slider-liner img {
    width: 47.8923076923vw;
    height: 26.9051282051vw;
  }
}
.slider-liner.w240 .swiper-slide {
  width: min(18.75vw,360px);
}
@media screen and (max-width: 750px) {
  .slider-liner.w240 .swiper-slide {
    width: 25.641025641vw;
  }
}
.slider-liner.w240 img {
  width: min(18.75vw,360px);
  height: min(18.75vw,360px);
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 750px) {
  .slider-liner.w240 img {
    width: 25.641025641vw;
    height: 25.641025641vw;
  }
}

/*
 * Fonts
 * -------------------------------------------------------------------
 */
/*
 * Page
 * -------------------------------------------------------------------
 */
header {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: min(100vw,1920px);
  height: min(6.6666666667vw,128px);
}
@media screen and (max-width: 750px) {
  header {
    height: 26.9230769231vw;
  }
}
header #logo {
  position: absolute;
  top: min(2.0833333333vw,40px);
  left: min(3.3333333333vw,64px);
  width: min(7.8125vw,150px);
  height: min(4.6875vw,90px);
}
@media screen and (max-width: 750px) {
  header #logo {
    top: 5.1282051282vw;
    left: 5.1282051282vw;
    width: 27.6923076923vw;
    height: 16.6666666667vw;
  }
}
.page:not(.home):not(.page-company):not(.page-contact):not(.page-privacy-policy):not(.page-service) header #logo img {
  filter: brightness(0);
}
.page-about-us header #logo {
  display: none;
}
header .nav_global {
  margin: min(2.5vw,48px) auto 0;
}
@media screen and (max-width: 750px) {
  header .nav_global {
    display: none;
  }
}
header .main_menu {
  position: absolute;
  right: 0;
  top: 0;
  margin: 0;
}
header .main_menu > button {
  position: absolute;
  top: min(2.0833333333vw,40px);
  right: min(3.3333333333vw,64px);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  width: min(2.5vw,48px);
  height: min(2.5vw,48px);
  border-radius: min(0.2083333333vw,4px);
  background-color: #221815;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.post-works header .main_menu > button {
  border: 1px solid #ffffff;
}
@media screen and (max-width: 750px) {
  header .main_menu > button {
    top: 5.1282051282vw;
    right: 5.1282051282vw;
    width: 12.3076923077vw;
    height: 12.3076923077vw;
    border-radius: 1.0256410256vw;
  }
}
header .main_menu > button .lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: min(0.3125vw,6px);
  width: min(0.9375vw,18px);
}
@media screen and (max-width: 750px) {
  header .main_menu > button .lines {
    gap: 1.5384615385vw;
    width: 4.6153846154vw;
  }
}
header .main_menu > button .lines span {
  display: block;
  width: min(0.9375vw,18px);
  height: 2px;
  border-radius: 1px;
  background-color: #ffffff;
}
@media screen and (max-width: 750px) {
  header .main_menu > button .lines span {
    width: 4.6153846154vw;
  }
}
header .main_menu .main_menu_content {
  position: absolute;
  top: min(0.8333333333vw,16px);
  right: min(1.4583333333vw,28px);
  width: min(18.75vw,360px);
  height: -moz-fit-content;
  height: fit-content;
  background-color: #221815;
  border-radius: min(1.25vw,24px);
  padding: min(2.0833333333vw,40px) 0 min(2.0833333333vw,40px) min(1.875vw,36px);
  transition: clip-path 0.3s cubic-bezier(0.3, 0.9, 0.7, 1) 0s;
  clip-path: xywh(min(1.25vw,24px) 5% 90% 0% round min(1.25vw,24px));
}
.post-works header .main_menu .main_menu_content {
  border: 1px solid #ffffff;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content {
    top: 3.8461538462vw;
    right: 3.8461538462vw;
    width: calc(100vw - 7.6923076923vw);
    border-radius: 6.1538461538vw;
    padding: 10.7692307692vw 0 26.6666666667vw 9.2307692308vw;
    clip-path: xywh(6.1538461538vw 5% 90% 0% round 6.1538461538vw);
  }
  header .main_menu .main_menu_content::after {
    content: "";
    position: absolute;
    right: 6.1538461538vw;
    bottom: 6.1538461538vw;
    width: 24.6153846154vw;
    height: 14.8717948718vw;
    background: url(../img/common/logo.png) center/contain no-repeat;
  }
}
header .main_menu .main_menu_content .btn_menu_close {
  position: absolute;
  top: min(1.1458333333vw,22px);
  right: min(1.8229166667vw,35px);
  display: flex;
  align-items: center;
  gap: min(0.625vw,12px);
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  font-size: min(0.625vw,12px);
  font-weight: 600;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content .btn_menu_close {
    top: 6.1538461538vw;
    right: 9.2307692308vw;
    gap: 3.0769230769vw;
    font-size: 3.0769230769vw;
  }
}
header .main_menu .main_menu_content .btn_menu_close button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: min(2.5vw,48px);
  height: min(2.5vw,48px);
  border-radius: min(0.2083333333vw,4px);
  background-color: #221815;
  border: 1px solid #ffffff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content .btn_menu_close button {
    width: 12.3076923077vw;
    height: 12.3076923077vw;
    border-radius: 1.0256410256vw;
  }
}
header .main_menu .main_menu_content .btn_menu_close button .lines {
  position: relative;
}
header .main_menu .main_menu_content .btn_menu_close button .lines span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: min(0.8333333333vw,16px);
  height: 2px;
  border-radius: 1px;
  background-color: #ffffff;
  transition: all 0.5s ease;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content .btn_menu_close button .lines span {
    width: 4.1025641026vw;
  }
}
header .main_menu .main_menu_content.open {
  clip-path: xywh(0 0 100% 100% round min(1.25vw,24px));
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content.open {
    clip-path: xywh(0 0 100% 100% round 6.1538461538vw);
  }
}
header .main_menu .main_menu_content.open .btn_menu_close button .lines span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header .main_menu .main_menu_content.open .btn_menu_close button .lines span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
header .main_menu .main_menu_content > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
header .main_menu .main_menu_content > ul > li {
  margin: 0;
  padding: 0;
}
header .main_menu .main_menu_content > ul > li > a {
  font-family: "Open Sans", sans-serif;
  font-size: min(2.0833333333vw,40px);
  line-height: 1.35;
  font-weight: 600;
  color: #ffffff;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li > a {
    font-size: 10.2564102564vw;
  }
}
header .main_menu .main_menu_content > ul > li > a > span {
  display: block;
  width: 100%;
  height: min(2.8125vw,54px);
  display: block;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li > a > span {
    height: 13.8461538462vw;
  }
}
header .main_menu .main_menu_content > ul > li > a > span > span {
  display: block;
  position: relative;
  top: 0;
  transition: all 0.5s ease-in-out;
}
header .main_menu .main_menu_content > ul > li > a > span > span:last-child {
  font-weight: 800;
}
header .main_menu .main_menu_content > ul > li > a.active > span > span, header .main_menu .main_menu_content > ul > li > a:hover > span > span {
  top: -100%;
}
header .main_menu .main_menu_content > ul > li:last-child a {
  margin-top: min(0.4166666667vw,8px);
  font-size: min(0.6770833333vw,13px);
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li:last-child a {
    margin-top: 2.0512820513vw;
    font-size: 3.3333333333vw;
  }
}
header .main_menu .main_menu_content > ul > li:last-child a > span {
  height: min(0.9140625vw,17.55px);
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li:last-child a > span {
    height: 4.5vw;
  }
}
header .main_menu .main_menu_content > ul > li > ul {
  margin: 0 0 0 min(1.25vw,24px);
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li > ul {
    margin: 0 0 0 6.1538461538vw;
  }
}
header .main_menu .main_menu_content > ul > li > ul li {
  margin: 0;
  padding: 0;
}
header .main_menu .main_menu_content > ul > li > ul li > a {
  display: flex;
  gap: min(1.0416666667vw,20px);
  align-items: center;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li > ul li > a {
    gap: 5.1282051282vw;
  }
}
header .main_menu .main_menu_content > ul > li > ul li > a > span {
  font-size: min(0.6770833333vw,13px);
  line-height: 2.4;
}
@media screen and (max-width: 750px) {
  header .main_menu .main_menu_content > ul > li > ul li > a > span {
    font-size: 3.3333333333vw;
  }
}
header .main_menu .main_menu_content > ul > li > ul li > a > span:first-child {
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
}
header .main_menu .main_menu_content > ul > li > ul li > a:hover > span:last-child {
  text-decoration: underline;
}

#footer {
  width: 100vw;
  padding: min(2.0833333333vw,40px) 0 0;
  background-color: #221815;
  position: relative;
}
@media screen and (max-width: 750px) {
  #footer {
    width: 100%;
    height: 134.358974359vw;
    padding: 0 0 15.3846153846vw;
    background: url(../img/common/bg_footer_sp.jpeg) center/cover no-repeat;
    display: flex;
    flex-direction: column-reverse;
    gap: 10.2564102564vw;
  }
  @supports (background-image: url(../img/common/bg_footer_sp.webp)) {
    #footer {
      background: url(../img/common/bg_footer_sp.webp) center/cover no-repeat;
    }
  }
}
#footer .footer_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  padding: min(1.25vw,24px) 0;
}
@media screen and (max-width: 750px) {
  #footer .footer_content {
    display: block;
    width: auto;
    padding: 0;
  }
}
#footer .footer_content .footer_nav {
  display: flex;
  flex-direction: column;
  gap: min(1.25vw,24px);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  #footer .footer_content .footer_nav {
    flex-direction: row;
    gap: 6.1538461538vw;
    align-items: flex-end;
  }
}
#footer .footer_content .footer_nav img {
  width: min(7.8125vw,150px);
  height: auto;
}
@media screen and (max-width: 750px) {
  #footer .footer_content .footer_nav img {
    width: 41.0256410256vw;
  }
}
#footer .footer_content .footer_nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  height: min(0.7291666667vw,14px);
}
@media screen and (max-width: 750px) {
  #footer .footer_content .footer_nav ul {
    display: none;
  }
}
#footer .footer_content .footer_nav ul li {
  margin: 0;
  padding: 0;
  border-left: 1px solid #ffffff;
  line-height: 1;
}
#footer .footer_content .footer_nav ul li:last-child {
  border-right: 1px solid #ffffff;
}
#footer .footer_content .footer_nav ul li a {
  display: inline-block;
  height: min(0.7291666667vw,14px);
  padding: 0 min(0.8333333333vw,16px);
  color: #ffffff;
  font-size: min(0.7291666667vw,14px);
  line-height: 1;
}
#footer .footer_content .footer_nav > p {
  display: none;
}
@media screen and (max-width: 750px) {
  #footer .footer_content .footer_nav > p {
    display: block;
    color: #ffffff;
    font-size: 5.1282051282vw;
    font-weight: 700;
    line-height: 1.5;
  }
}
#footer .copyright {
  width: 100vw;
  background-color: #ffffff;
  padding: min(0.8333333333vw,16px) 0;
  text-align: center;
  font-size: min(0.625vw,12px);
}
@media screen and (max-width: 750px) {
  #footer .copyright {
    position: absolute;
    bottom: 6.1538461538vw;
    padding: 0;
    background-color: unset;
    color: #ffffff;
    font-size: 3.0769230769vw;
    line-height: 1;
  }
}

.sec_contact {
  position: relative;
  width: 100vw;
  height: min(41.6666666667vw,800px);
  background: url(../img/top/bg_contact.jpeg) center/cover no-repeat;
  padding: 0;
}
@supports (background-image: url(../img/top/bg_contact.webp)) {
  .sec_contact {
    background: url(../img/top/bg_contact.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .sec_contact {
    z-index: 1;
    height: 107.6923076923vw;
    background: url(../img/top/bg_contact_sp.jpeg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/top/bg_contact_sp.webp)) {
    .sec_contact {
      background: url(../img/top/bg_contact_sp.webp) center/cover no-repeat;
    }
  }
}
.sec_contact .wrapper {
  background-image: radial-gradient(circle, #666 0.5px, transparent 0.5px);
  background-position: 0 0;
  background-size: 5px 5px;
}
.page:not(.home) .sec_contact, .post .sec_contact {
  display: none;
}
@media screen and (max-width: 750px) {
  .page:not(.home) .sec_contact, .post .sec_contact {
    display: block;
    height: 42.8205128205vw;
    height: 35.8974358974vw;
    background: none;
  }
  .page:not(.home) .sec_contact .wrapper, .post .sec_contact .wrapper {
    background: none;
  }
}
.page-company .sec_contact {
  background-color: #221815;
}
.sec_contact_content {
  width: min(69.1666666667vw,1328px);
  height: 100%;
  margin: 0 auto;
  padding: 0 0 min(4.1666666667vw,80px);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
@media screen and (max-width: 750px) {
  .sec_contact_content {
    width: 100vw;
    padding: 0;
  }
}
@media screen and (max-width: 750px) {
  .sec_contact_content {
    display: block;
  }
}

.contact_wrap {
  width: min(28.5416666667vw,548px);
  height: min(17.2916666667vw,332px);
  border: 1px solid #FA6376;
  border-radius: min(1.25vw,24px);
  background-color: rgba(255, 255, 255, 0.8);
  padding: min(2.5vw,48px) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .contact_wrap {
    width: 92.3076923077vw;
    height: 67.6923076923vw;
    border-radius: 6.1538461538vw;
    padding: 8.2051282051vw 0;
    position: absolute;
    bottom: -57.4358974359vw;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffffff;
  }
}
.contact_wrap h2 {
  font-family: "Open Sans", sans-serif;
  font-size: min(2.5vw,48px);
  font-weight: 800;
  line-height: 1;
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
  align-items: center;
}
@media screen and (max-width: 750px) {
  .contact_wrap h2 {
    font-size: 10.2564102564vw;
  }
}
.contact_wrap h2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.1vw,16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .contact_wrap h2 span {
    font-size: 4.1025641026vw;
  }
}
.contact_wrap p {
  margin: min(1.25vw,24px) 0 min(0.78125vw,15px);
  font-size: min(0.9375vw,18px);
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .contact_wrap p {
    margin: 3.0769230769vw 0 2.0512820513vw;
    font-size: 3.0769230769vw;
  }
}
.contact_wrap .btn_tel {
  margin-top: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .contact_wrap .btn_tel {
    margin-top: 2.0512820513vw;
  }
}

.sec_faq {
  width: 100vw;
  background: #F5F4EE;
  padding: min(6.3020833333vw,121px) 0 min(8.28125vw,159px);
}
.page-service .sec_faq {
  padding: min(4.1666666667vw,80px) 0 min(10.4166666667vw,200px);
  background: url(../img/about/bg_principle.svg) left bottom/100% no-repeat, linear-gradient(to bottom, #F5F4EE 0%, #F5F4EE 99%, #221815 99%, #221815 100%);
}
@media screen and (max-width: 750px) {
  .page-service .sec_faq {
    background: none;
    padding: 10.2564102564vw 0 0;
    background: #F5F4EE;
  }
}
@media screen and (max-width: 750px) {
  .sec_faq {
    background: #F5F4EE url(../img/top/bg_faq_sp.svg) top center/100% no-repeat;
    padding: 30.7692307692vw 0 20.5128205128vw;
  }
}
.sec_faq_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_faq_content {
    width: 92.3076923077vw;
  }
}
.sec_faq_content h2 + dl {
  margin-top: min(2.5vw,48px);
}
@media screen and (max-width: 750px) {
  .sec_faq_content h2 + dl {
    margin-top: 6.1538461538vw;
  }
}
.sec_faq_content dl + dl {
  margin-top: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl + dl {
    margin-top: 4.1025641026vw;
  }
}
.sec_faq_content h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sec_faq_content dl {
  border: 1px solid #221815;
  border-radius: min(0.8333333333vw,16px);
  background-color: #ffffff;
  padding: 0 min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl {
    border-radius: 4.1025641026vw;
    padding: 0 6.1538461538vw;
  }
}
.sec_faq_content dl dt {
  padding: min(1.25vw,24px) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dt {
    padding: 6.1538461538vw 0;
  }
}
.sec_faq_content dl dt::before {
  content: "Q";
  font-family: "Open Sans", sans-serif;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1;
  color: #FA6376;
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dt::before {
    font-size: 8.2051282051vw;
  }
}
.sec_faq_content dl dt > div {
  flex: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dt > div {
    flex-direction: column;
    align-items: flex-start;
  }
}
.sec_faq_content dl dt p {
  font-size: min(1.0416666667vw,20px);
  font-weight: 700;
  line-height: 1.5;
  flex: 1;
  margin: 0 min(0.8333333333vw,16px) 0 min(0.7291666667vw,14px);
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dt p {
    font-size: 4.1025641026vw;
    margin: 0 4.1025641026vw 0 5.641025641vw;
  }
}
.sec_faq_content dl dt span {
  display: inline-block;
  border: 1px solid #221815;
  background-color: #F5F4EE;
  font-size: min(0.625vw,12px);
  font-weight: 700;
  line-height: 1;
  padding: min(0.1041666667vw,2px) min(0.8333333333vw,16px);
  margin-right: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dt span {
    font-size: 3.0769230769vw;
    padding: 0.5128205128vw 4.1025641026vw;
    margin: 2.0512820513vw 0 0 5.641025641vw;
  }
}
.sec_faq_content dl dd {
  border-top: 1px solid #221815;
  transition: all 0.3s ease;
  height: 0;
  opacity: 0;
  padding: 0;
  visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: min(0.7291666667vw,14px);
}
.sec_faq_content dl dd.open {
  height: auto;
  opacity: 1;
  padding: min(1.25vw,24px) 0;
  visibility: visible;
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dd.open {
    padding: 5.1282051282vw 0;
  }
}
.sec_faq_content dl dd::before {
  content: "A";
  font-family: "Open Sans", sans-serif;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1;
  color: #CCC;
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dd::before {
    font-size: 8.2051282051vw;
  }
}
.sec_faq_content dl dd div {
  flex: 1;
}
.sec_faq_content dl dd div p:first-child {
  font-size: min(0.9375vw,18px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dd div p:first-child {
    font-size: 4.6153846154vw;
  }
}
.sec_faq_content dl dd div p:last-child {
  margin-top: min(0.4166666667vw,8px);
  font-size: min(1.1vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dd div p:last-child {
    margin-top: 2.0512820513vw;
    font-size: 4.1025641026vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_faq_content dl dd {
    gap: 6.4102564103vw;
  }
}

.sec_concept {
  width: 100vw;
  background-color: #FA6376;
  padding: min(8.3333333333vw,160px) 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_concept {
    padding: 30.7692307692vw 0 20.5128205128vw;
  }
}
.sec_concept::after {
  content: "";
  display: block;
  position: absolute;
  bottom: min(8.3333333333vw,160px);
  left: calc(50% + min(9.375vw,180px));
  width: min(10.4166666667vw,200px);
  height: min(8.3333333333vw,160px);
  background: url(../img/top/deco02.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_concept::after {
    bottom: 147.6923076923vw;
    left: 67.4358974359vw;
    width: 25.641025641vw;
    height: 20.5128205128vw;
  }
}
.sec_concept_content {
  width: min(62.5vw,1200px);
  margin: 0 auto;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_concept_content {
    width: 86.1538461538vw;
  }
}
.sec_concept_content h2 {
  font-size: min(3.5416666667vw,68px);
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_concept_content h2 {
    font-size: 13.3333333333vw;
    line-height: 1.5;
  }
}
.sec_concept_content p {
  margin-top: min(2.0833333333vw,40px);
  font-size: min(1.0416666667vw,20px);
  line-height: 2.5;
  letter-spacing: min(0.1041666667vw,2px);
}
@media screen and (max-width: 750px) {
  .sec_concept_content p {
    margin-top: 10.2564102564vw;
    font-size: 5.1282051282vw;
    line-height: 2;
    letter-spacing: 0.5128205128vw;
  }
}

.sec_works {
  width: 100vw;
  background: url(../img/top/bg_works.svg) top center/100% no-repeat, linear-gradient(to bottom, #FA6376 0%, #FA6376 1%, #F8BCAA 1%, #F8BCAA 100%);
  padding: min(3.0208333333vw,58px) 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_works {
    background: #F8BCAA url(../img/top/bg_works_sp.svg) top center/100% no-repeat;
    padding: 25.641025641vw 0 0;
  }
}
.sec_works::before {
  content: "";
  display: block;
  position: absolute;
  top: max(-1.0416666667vw,-20px);
  left: calc(50% - min(30.4166666667vw,584px));
  width: min(14.4791666667vw,278px);
  height: min(14.2708333333vw,274px);
  background: url(../img/top/deco01.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_works::before {
    top: 0vw;
    left: 3.8461538462vw;
    width: 35.8974358974vw;
    height: 37.9487179487vw;
    background: url(../img/top/deco01_sp.png) center/contain no-repeat;
  }
}
.sec_works::after {
  content: "";
  display: block;
  position: absolute;
  top: max(-2.0833333333vw,-40px);
  left: calc(50% + min(23.0729166667vw,443px));
  width: min(7.34375vw,141px);
  height: min(11.875vw,228px);
  background: url(../img/top/deco03.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_works::after {
    top: 0vw;
    left: 76.4102564103vw;
    width: 19.4871794872vw;
    height: 31.5384615385vw;
  }
}
.sec_works_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_works_content {
    width: 92.3076923077vw;
  }
}
.sec_works_content h2 {
  width: min(20.8333333333vw,400px);
  height: min(9.7916666667vw,188px);
  margin: 0 auto;
  background: url(../img/common/bg_h2_pink.svg) center/contain no-repeat;
  font-family: "Open Sans", sans-serif;
  font-size: min(2.5vw,48px);
  font-weight: 800;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_works_content h2 {
    transform: rotate(8deg);
    width: 66.0615384615vw;
    height: 31.458974359vw;
    font-size: 9.2307692308vw;
  }
}
.sec_works_content h2 span {
  transform: rotate(-8deg);
}
.sec_works_content ul {
  margin: min(2.5vw,48px) 0 min(3.28125vw,63px);
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: min(2.0833333333vw,40px);
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec_works_content ul {
    margin: 3.0769230769vw 0 4.6153846154vw;
    gap: 4.1025641026vw;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.sec_works_content ul li {
  width: min(33.5416666667vw,644px);
  height: min(29.7916666667vw,572px);
  border: 1px solid #221815;
  background-color: #ffffff;
  border-radius: min(1.25vw,24px);
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .sec_works_content ul li {
    width: 100%;
    height: 104.6153846154vw;
    border-radius: 6.1538461538vw;
  }
}
.sec_works_content ul li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.sec_works_content ul li a::after {
  content: "";
  width: min(1.0416666667vw,20px);
  height: min(0.7291666667vw,14px);
  background: url(../img/common/ico-arrow-black.svg) center/contain no-repeat;
  position: absolute;
  bottom: min(1.25vw,24px);
  right: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_works_content ul li a::after {
    width: 5.1282051282vw;
    height: 3.5897435897vw;
    bottom: 6.1538461538vw;
    right: 6.1538461538vw;
  }
}
.sec_works_content ul li a:hover {
  opacity: 0.8;
}
.sec_works_content ul li picture {
  width: 100%;
  height: min(18.8541666667vw,362px);
}
@media screen and (max-width: 750px) {
  .sec_works_content ul li picture {
    height: 51.7948717949vw;
  }
}
.sec_works_content ul li picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec_works_content ul li div {
  padding: min(0.8333333333vw,16px) min(1.25vw,24px) min(1.25vw,24px);
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_works_content ul li div {
    padding: 4.1025641026vw 6.1538461538vw 11.7948717949vw;
    gap: 1.0256410256vw;
  }
}
.sec_works_content ul li div p:nth-of-type(1) {
  font-size: min(0.625vw,12px);
  line-height: 1.8;
  color: #666;
}
@media screen and (max-width: 750px) {
  .sec_works_content ul li div p:nth-of-type(1) {
    font-size: 3.0769230769vw;
  }
}
.sec_works_content ul li div p:nth-of-type(2) {
  font-size: min(1.1vw,16px);
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_works_content ul li div p:nth-of-type(2) {
    font-size: 4.1025641026vw;
  }
}
.sec_works_content .btn_elipse {
  filter: drop-shadow(0 min(0.4166666667vw,8px) 0 #E89B84);
}
@media screen and (max-width: 750px) {
  .sec_works_content .btn_elipse {
    filter: drop-shadow(0 2.0512820513vw 0 #E89B84);
  }
}

.sec_service {
  width: 100vw;
  background: url(../img/top/bg_service.svg) top center/100% no-repeat, linear-gradient(to bottom, #F8BCAA 0%, #F8BCAA 1%, #1AB6BE 1%, #1AB6BE 100%);
  padding: min(10.4166666667vw,200px) 0 min(6.25vw,120px);
}
@media screen and (max-width: 750px) {
  .sec_service {
    background: #1AB6BE url(../img/top/bg_service_sp.svg) top center/100% no-repeat;
    padding: 25.3435897436vw 0 0;
  }
}
.sec_service_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_service_content {
    width: 92.3076923077vw;
  }
}
.sec_service_content::after {
  content: "";
  position: absolute;
  top: min(5.2604166667vw,101px);
  right: min(2.109375vw,40.5px);
  width: min(15vw,288px);
  height: min(19.1145833333vw,367px);
  background: url(../img/top/binder.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_service_content::after {
    top: 31.7948717949vw;
    right: 0;
    width: 51.0256410256vw;
    height: 65.1282051282vw;
  }
}
.sec_service_content h2 {
  width: min(20.8333333333vw,400px);
  height: min(9.7916666667vw,188px);
  margin: 0 auto;
  background: url(../img/common/bg_h2_white.svg) center/contain no-repeat;
  font-family: "Open Sans", sans-serif;
  font-size: min(2.5vw,48px);
  font-weight: 800;
  color: #221815;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_service_content h2 {
    transform: rotate(8deg);
    width: 66.0615384615vw;
    height: 31.458974359vw;
    font-size: 9.2307692308vw;
  }
}
.sec_service_content h2 span {
  transform: rotate(-8deg);
}
.sec_service_content h2 + .service_wrap {
  margin-top: min(1.875vw,36px);
}
@media screen and (max-width: 750px) {
  .sec_service_content h2 + .service_wrap {
    margin-top: 22.3487179487vw;
  }
}
.sec_service_content .service_wrap + .service_wrap {
  margin-top: min(2.2916666667vw,44px);
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap + .service_wrap {
    margin-top: 10.2564102564vw;
  }
}
.sec_service_content .service_wrap {
  border: 1px solid #221815;
  border-radius: min(1.25vw,24px);
  background-color: #ffffff;
  padding: min(5vw,96px) min(3.3333333333vw,64px) min(1.6666666667vw,32px);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap {
    border-radius: 6.1538461538vw;
    padding: 30.7692307692vw 6.1538461538vw 8.2051282051vw;
  }
}
.sec_service_content .service_wrap h3 {
  position: absolute;
  top: max(-1.4583333333vw,-28px);
  width: calc(100% - min(6.6666666667vw,128px));
  display: flex;
  align-items: flex-end;
  gap: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap h3 {
    top: -6.1538461538vw;
    width: calc(100% - 12.3076923077vw);
    gap: 4.1025641026vw;
    flex-direction: column;
    align-items: flex-start;
  }
}
.sec_service_content .service_wrap h3 > span {
  font-family: "Open Sans", sans-serif;
  font-weight: 800;
}
.sec_service_content .service_wrap h3 > span > span {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sec_service_content .service_wrap h3 > span > span:nth-of-type(1) {
  font-weight: 700;
  font-size: min(4.1666666667vw,80px);
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap h3 > span > span:nth-of-type(1) {
    font-size: 15.3846153846vw;
  }
}
.sec_service_content .service_wrap h3 > span > span:nth-of-type(2) {
  font-size: min(1.0416666667vw,20px);
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap h3 > span > span:nth-of-type(2) {
    font-size: 4.1025641026vw;
  }
}
.sec_service_content .service_wrap.al_right h3 {
  justify-content: flex-start;
  flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap.al_right h3 {
    align-items: flex-end;
    flex-direction: column;
  }
}
.sec_service_content .service_wrap > p {
  padding-top: min(1.25vw,24px);
  border-top: 1px solid #221815;
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap > p {
    padding-top: 6.1538461538vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 9;
  }
}
.sec_service_content .service_wrap .btn_square {
  margin: min(1.6666666667vw,32px) 0 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_service_content .service_wrap .btn_square {
    margin: 6.1538461538vw auto 0;
  }
}
.sec_service_content .btn_elipse {
  margin-top: min(3.28125vw,63px);
  filter: drop-shadow(0 min(0.4166666667vw,8px) 0 #119AA1);
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_service_content .btn_elipse {
    filter: drop-shadow(0 2.0512820513vw 0 #119AA1);
  }
}
.sec_service_content .btn_elipse:before {
  content: "";
  position: absolute;
  top: max(-1.4359375vw,-27.57px);
  left: max(-29.8958333333vw,-574px);
  width: min(12.4479166667vw,239px);
  height: min(12.4479166667vw,239px);
  background: url(../img/top/deco04.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_service_content .btn_elipse:before {
    top: -1.8948717949vw;
    left: -25.3846153846vw;
    width: 24.8717948718vw;
    height: 24.8717948718vw;
  }
}
.sec_service_content .btn_elipse:after {
  content: "";
  position: absolute;
  top: max(-1.4880208333vw,-28.57px);
  right: max(-28.8020833333vw,-553px);
  width: min(12.6041666667vw,242px);
  height: min(12.6041666667vw,242px);
  background: url(../img/top/deco05.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_service_content .btn_elipse:after {
    top: -0.6128205128vw;
    right: -25.8974358974vw;
    width: 24.358974359vw;
    height: 24.358974359vw;
  }
}

.sec_privacy {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  padding: min(3.3333333333vw,64px) 0 min(4.1666666667vw,80px);
}
@media screen and (max-width: 750px) {
  .sec_privacy {
    width: 92.3076923077vw;
    padding: 6.1538461538vw 0 0;
  }
}
.sec_privacy_content {
  background-color: #ffffff;
  padding: min(4.1666666667vw,80px) min(9.5833333333vw,184px);
}
@media screen and (max-width: 750px) {
  .sec_privacy_content {
    padding: 10.2564102564vw 6.1538461538vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_privacy_content h2 {
    font-size: 10.2564102564vw;
  }
}
.sec_privacy_content > p {
  margin-top: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_privacy_content > p {
    margin-top: 6.1538461538vw;
  }
}
.sec_privacy_content ol {
  margin: min(3.3333333333vw,64px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: min(2.5vw,48px);
}
@media screen and (max-width: 750px) {
  .sec_privacy_content ol {
    margin: 10.2564102564vw 0 0;
    gap: 8.2051282051vw;
  }
}
.sec_privacy_content ol li h3 {
  display: flex;
  align-items: center;
  gap: min(0.2083333333vw,4px);
  font-size: min(1.0416666667vw,20px);
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .sec_privacy_content ol li h3 {
    gap: 1.0256410256vw;
  }
}
.sec_privacy_content ol li h3 span {
  font-family: "Open Sans", sans-serif;
  font-size: min(1.6666666667vw,32px);
  font-weight: 600;
  color: #1AB6BE;
}
@media screen and (max-width: 750px) {
  .sec_privacy_content ol li h3 span {
    font-size: 8.2051282051vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_privacy_content ol li h3 {
    font-size: 5.1282051282vw;
  }
}
.sec_privacy_content ol li p {
  margin-top: min(0.4166666667vw,8px);
  font-size: min(0.78125vw,15px);
}
@media screen and (max-width: 750px) {
  .sec_privacy_content ol li p {
    margin-top: 2.0512820513vw;
    font-size: 3.8461538462vw;
  }
}

.sec_contactform {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  padding: min(3.3333333333vw,64px) 0 min(4.1666666667vw,80px);
}
@media screen and (max-width: 750px) {
  .sec_contactform {
    width: 92.3076923077vw;
    padding: 0;
  }
}
.sec_contactform_header {
  padding: min(2.0833333333vw,40px) 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_contactform_header {
    padding: 6.1538461538vw 0;
  }
}
.sec_contactform_header p {
  font-size: min(0.9375vw,18px);
}
.sec_contactform_content {
  background-color: #ffffff;
  padding: min(4.1666666667vw,80px) min(9.5833333333vw,184px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content {
    padding: 6.1538461538vw 6.1538461538vw 10.2564102564vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_contactform_content h2 {
    font-size: 6.1538461538vw;
  }
}
.sec_contactform_content > p {
  margin-top: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content > p {
    margin-top: 2.0512820513vw;
  }
}
.sec_contactform_content > p span {
  color: #FA6376;
  font-size: min(1.2vw,14px);
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content > p span {
    font-size: 3.0769230769vw;
  }
}
.sec_contactform_content form {
  margin-top: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form {
    margin-top: 6.1538461538vw;
  }
}
.sec_contactform_content form input[type=email],
.sec_contactform_content form input[type=tel],
.sec_contactform_content form input[type=text],
.sec_contactform_content form textarea {
  width: 100%;
  padding: min(0.5208333333vw,10px) min(0.8333333333vw,16px);
  border-radius: min(0.2083333333vw,4px);
  border: 1px solid #ccc;
  background-color: #f6f6f6;
  outline: none;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form input[type=email],
  .sec_contactform_content form input[type=tel],
  .sec_contactform_content form input[type=text],
  .sec_contactform_content form textarea {
    padding: 2.5641025641vw 4.1025641026vw;
    border-radius: 1.0256410256vw;
  }
}
.sec_contactform_content form input[type=email]:active, .sec_contactform_content form input[type=email]:focus,
.sec_contactform_content form input[type=tel]:active,
.sec_contactform_content form input[type=tel]:focus,
.sec_contactform_content form input[type=text]:active,
.sec_contactform_content form input[type=text]:focus,
.sec_contactform_content form textarea:active,
.sec_contactform_content form textarea:focus {
  background-color: #fff;
  border: 1px solid #FA6376;
}
.sec_contactform_content form textarea {
  min-height: min(12.5vw,240px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form textarea {
    min-height: 61.5384615385vw;
  }
}
.sec_contactform_content form label {
  display: flex;
  align-items: center;
  -moz-column-gap: min(0.4166666667vw,8px);
       column-gap: min(0.4166666667vw,8px);
  line-height: 1;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form label {
    -moz-column-gap: 2.0512820513vw;
         column-gap: 2.0512820513vw;
    font-size: 3.3333333333vw;
    line-height: 1.5;
  }
}
.sec_contactform_content form label input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: min(1.0416666667vw,20px);
  height: min(1.0416666667vw,20px);
  border: 1px solid #cccccc;
  border-radius: min(0.1041666667vw,2px);
  background-color: #f6f6f6;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form label input[type=checkbox] {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
    border-radius: 0.5128205128vw;
  }
}
.sec_contactform_content form label input[type=checkbox]:checked {
  border: 1px solid #cccccc;
  background-color: #fff;
}
.sec_contactform_content form label input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: min(0.15625vw,3px);
  left: min(0.15625vw,3px);
  width: min(0.625vw,12px);
  height: min(0.4166666667vw,8px);
  border-bottom: min(0.1041666667vw,2px) solid #FA6376;
  border-left: min(0.1041666667vw,2px) solid #FA6376;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form label input[type=checkbox]:checked::after {
    top: 0.7692307692vw;
    left: 0.7692307692vw;
    width: 3.0769230769vw;
    height: 2.0512820513vw;
    border-bottom: 0.5128205128vw solid #FA6376;
    border-left: 0.5128205128vw solid #FA6376;
  }
}
.sec_contactform_content form .form_content_wrap {
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_content_wrap {
    gap: 4.1025641026vw;
  }
}
.sec_contactform_content form .form_content_wrap .form_input {
  display: flex;
  flex-direction: column;
  gap: min(0.2083333333vw,4px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_content_wrap .form_input {
    gap: 1.0256410256vw;
  }
}
.sec_contactform_content form .form_content_wrap .form_input > label {
  font-size: min(0.9375vw,18px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_content_wrap .form_input > label {
    font-size: 4.1025641026vw;
  }
}
.sec_contactform_content form .form_content_wrap .form_input > label span {
  color: #FA6376;
  font-size: min(1.1vw,14px);
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_content_wrap .form_input > label span {
    font-size: 3.0769230769vw;
  }
}
.sec_contactform_content form .wpcf7-checkbox,
.sec_contactform_content form .form_checkbox_wrap {
  margin-top: min(1.0416666667vw,20px);
  padding: 0 min(0.8333333333vw,16px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: min(1.1979166667vw,23px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .wpcf7-checkbox,
  .sec_contactform_content form .form_checkbox_wrap {
    margin-top: 1.0256410256vw;
    padding: 0;
    row-gap: 3.0769230769vw;
  }
}
.sec_contactform_content form .wpcf7-checkbox label,
.sec_contactform_content form .form_checkbox_wrap label {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .wpcf7-checkbox label,
  .sec_contactform_content form .form_checkbox_wrap label {
    width: 100%;
  }
}
.sec_contactform_content form .form_privacy {
  margin-top: min(3.3333333333vw,64px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_privacy {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_privacy h3 {
    font-size: 4.1025641026vw;
  }
}
.sec_contactform_content form .form_privacy .sec_privacy_content {
  margin-top: min(0.2083333333vw,4px);
  border: 1px solid #ccc;
  padding: min(2.0833333333vw,40px) min(2.6041666667vw,50px);
  height: min(16.6666666667vw,320px);
  overflow-y: scroll;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_privacy .sec_privacy_content {
    margin-top: 1.0256410256vw;
    padding: 4.1025641026vw 6.1538461538vw;
    height: 82.0512820513vw;
  }
}
.sec_contactform_content form .form_privacy .sec_privacy_content p {
  margin-top: 0;
}
.sec_contactform_content form .form_privacy .sec_privacy_content span.br {
  display: block;
}
.sec_contactform_content form .form_privacy .sec_privacy_content span.br.wide {
  width: 100%;
  height: min(0.5208333333vw,10px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_privacy .sec_privacy_content span.br.wide {
    height: 2.5641025641vw;
  }
}
.sec_contactform_content form .form_privacy label {
  margin-top: min(1.25vw,24px);
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_privacy label {
    margin-top: 4.1025641026vw;
  }
}
.sec_contactform_content form .form_privacy label input {
  border: 1px solid #FA6376;
  flex: none;
}
.sec_contactform_content form .form_footer {
  width: -moz-fit-content;
  width: fit-content;
  margin: min(2.5vw,48px) auto 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_footer {
    margin: 10.2564102564vw auto 0;
  }
}
.sec_contactform_content form .form_footer > a {
  width: min(16.6666666667vw,320px);
  height: min(3.3333333333vw,64px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content form .form_footer > a {
    width: 67.6923076923vw;
    height: 16.4102564103vw;
  }
}
.sec_contactform_content .thanks-message {
  display: none;
  text-align: center;
  background-color: rgba(26, 182, 190, 0.5);
  padding: min(0.8333333333vw,16px);
  margin-top: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_contactform_content .thanks-message {
    margin-top: 10.2564102564vw;
    padding: 4.1025641026vw 3.0769230769vw;
  }
}
.sec_contactform_content .wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

.sec_company_profile {
  background: url(../img/company/logo.svg) right min(3.3333333333vw,64px) no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_company_profile {
    background: url(../img/company/logo.svg) right 39.2307692308vw/32.8205128205vw no-repeat;
  }
}

.sec_company_profile,
.sec_company_map {
  width: min(100vw,1920px);
  margin: 0 auto;
  padding: min(3.3333333333vw,64px) 0 min(5.2083333333vw,100px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile,
  .sec_company_map {
    width: 100%;
    padding: 8.2051282051vw 0 16.4102564103vw;
  }
}
.sec_company_profile_content,
.sec_company_map_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content,
  .sec_company_map_content {
    width: 92.3076923077vw;
  }
}
.sec_company_profile_content h2,
.sec_company_map_content h2 {
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content h2,
  .sec_company_map_content h2 {
    gap: 0.5128205128vw;
    font-size: 6.1538461538vw;
  }
}
.sec_company_profile_content h2 span:first-child,
.sec_company_map_content h2 span:first-child {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: min(1.2vw,12px);
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content h2 span:first-child,
  .sec_company_map_content h2 span:first-child {
    position: relative;
    left: -3.8461538462vw;
    font-size: 3.0769230769vw;
    gap: 1.7948717949vw;
  }
}
.sec_company_profile_content h2 span:first-child::before,
.sec_company_map_content h2 span:first-child::before {
  content: "";
  display: block;
  width: min(0.625vw,12px);
  height: min(0.1041666667vw,2px);
  background-color: #FFED4D;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content h2 span:first-child::before,
  .sec_company_map_content h2 span:first-child::before {
    width: 2.0512820513vw;
    height: 0.5128205128vw;
  }
}
.sec_company_profile_content h2 span:last-child,
.sec_company_map_content h2 span:last-child {
  display: block;
  padding-left: min(1.0416666667vw,20px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content h2 span:last-child,
  .sec_company_map_content h2 span:last-child {
    padding-left: 0;
  }
}
.sec_company_profile_content table,
.sec_company_map_content table {
  width: min(62.5vw,1200px);
  margin: min(3.3333333333vw,64px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table,
  .sec_company_map_content table {
    width: 100%;
    margin: 4.1025641026vw auto 0;
  }
}
.sec_company_profile_content table tbody,
.sec_company_map_content table tbody {
  border-collapse: collapse;
  font-size: min(0.9375vw,18px);
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody,
  .sec_company_map_content table tbody {
    font-size: 4.6153846154vw;
    line-height: 1.5;
    gap: 5.1282051282vw;
  }
}
.sec_company_profile_content table tbody tr,
.sec_company_map_content table tbody tr {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr,
  .sec_company_map_content table tbody tr {
    flex-direction: column;
  }
}
.sec_company_profile_content table tbody tr th,
.sec_company_map_content table tbody tr th {
  font-weight: 700;
  width: min(8.3333333333vw,160px);
  text-align: left;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr th,
  .sec_company_map_content table tbody tr th {
    width: 100%;
    padding-bottom: 1.5384615385vw;
  }
}
.sec_company_profile_content table tbody tr td,
.sec_company_map_content table tbody tr td {
  padding-left: min(4.1666666667vw,80px);
  border-left: 1px solid #ccc;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td,
  .sec_company_map_content table tbody tr td {
    border-left: 0;
    border-top: 1px solid #ccc;
    padding-left: 0;
    padding-top: 2.5641025641vw;
    width: 100%;
  }
}
.sec_company_profile_content table tbody tr td ul,
.sec_company_map_content table tbody tr td ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul,
  .sec_company_map_content table tbody tr td ul {
    gap: 10.2564102564vw;
  }
}
.sec_company_profile_content table tbody tr td ul li,
.sec_company_map_content table tbody tr td ul li {
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul li,
  .sec_company_map_content table tbody tr td ul li {
    gap: 2.0512820513vw;
  }
}
.sec_company_profile_content table tbody tr td ul li h3,
.sec_company_map_content table tbody tr td ul li h3 {
  font-weight: 700;
  font-size: min(1.3vw,18px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul li h3,
  .sec_company_map_content table tbody tr td ul li h3 {
    font-size: 4.6153846154vw;
  }
}
.sec_company_profile_content table tbody tr td ul li .notice,
.sec_company_map_content table tbody tr td ul li .notice {
  background-color: #221815;
  color: #ffffff;
  font-size: min(1.2vw,14px);
  padding: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul li .notice,
  .sec_company_map_content table tbody tr td ul li .notice {
    font-size: 3.5897435897vw;
    padding: 2.0512820513vw;
  }
}
.sec_company_profile_content table tbody tr td ul li .list,
.sec_company_map_content table tbody tr td ul li .list {
  font-size: min(1.1vw,16px);
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul li .list,
  .sec_company_map_content table tbody tr td ul li .list {
    font-size: 4.1025641026vw;
  }
}
.sec_company_profile_content table tbody tr td ul li .detail,
.sec_company_map_content table tbody tr td ul li .detail {
  font-size: min(1.1vw,14px);
  line-height: 2;
  position: relative;
  padding-left: min(1.35vw,25.92px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul li .detail,
  .sec_company_map_content table tbody tr td ul li .detail {
    font-size: 3.5897435897vw;
    padding-left: 6.4102564103vw;
  }
}
.sec_company_profile_content table tbody tr td ul li .detail::before,
.sec_company_map_content table tbody tr td ul li .detail::before {
  content: "";
  position: absolute;
  left: min(0.45vw,8.64px);
  top: min(0.4166666667vw,8px);
  display: block;
  width: min(0.45vw,8.64px);
  height: min(0.625vw,12px);
  border-top: min(0.3125vw,6px) solid transparent;
  border-bottom: min(0.3125vw,6px) solid transparent;
  border-left: min(0.45vw,8.64px) solid #221815;
  border-right: 0;
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content table tbody tr td ul li .detail::before,
  .sec_company_map_content table tbody tr td ul li .detail::before {
    left: 2.2153846154vw;
    top: 2.0512820513vw;
    width: 2.2153846154vw;
    height: 3.0769230769vw;
    border-top: 1.5384615385vw solid transparent;
    border-bottom: 1.5384615385vw solid transparent;
    border-left: 2.2153846154vw solid #221815;
  }
}
.sec_company_profile_content iframe,
.sec_company_map_content iframe {
  width: min(62.5vw,1200px);
  height: min(35.15625vw,675px);
  margin: min(1.6666666667vw,32px) 0 0 min(3.3333333333vw,64px);
}
@media screen and (max-width: 750px) {
  .sec_company_profile_content iframe,
  .sec_company_map_content iframe {
    width: 100%;
    height: 51.7948717949vw;
    margin: 4.1025641026vw 0 0 0;
  }
}

.sec_company_contact {
  padding: min(2.6041666667vw,50px) 0;
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw,32px);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_company_contact {
    padding: 12.3076923077vw 0 17.1794871795vw;
    background-color: #221815;
    color: #ffffff;
    gap: 8.2051282051vw;
  }
}
.sec_company_contact h2 {
  font-family: "Open Sans", sans-serif;
  font-size: min(2.5vw,48px);
  font-weight: 800;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_company_contact h2 {
    font-size: 10.2564102564vw;
    margin-bottom: 2.0512820513vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_company_contact h2 {
    gap: 4.1025641026vw;
  }
}
.sec_company_contact h2 span {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_company_contact h2 span {
    font-size: 4.1025641026vw;
  }
}
.sec_company_contact > a {
  width: min(17.9166666667vw,344px);
  height: min(3.3333333333vw,64px);
  font-size: min(0.9375vw,18px);
}
@media screen and (max-width: 750px) {
  .sec_company_contact > a {
    width: 82.0512820513vw;
    height: 16.4102564103vw;
    font-size: 4.6153846154vw;
    box-shadow: none;
  }
}
@media screen and (max-width: 750px) {
  .sec_company_contact > a::after {
    top: 50% !important;
    right: 7.4358974359vw !important;
    transform: translateY(-50%) !important;
  }
}

.sec_about_slogan {
  padding: min(0.8333333333vw,16px) 0 min(5.2083333333vw,100px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan {
    padding: 4.1025641026vw 0 48.7179487179vw;
  }
}
.sec_about_slogan_content h2 {
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw,40px);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: min(3.3333333333vw,64px);
  line-height: 1.5;
  letter-spacing: min(0.2604166667vw,5px);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content h2 {
    gap: 4.1025641026vw;
    font-size: 10.2564102564vw;
    letter-spacing: 0;
    text-align: center;
  }
}
.sec_about_slogan_content h2 > span:nth-of-type(1) {
  padding: min(0.4166666667vw,8px) min(0.8333333333vw,16px);
  font-size: min(1.875vw,36px);
  line-height: 1;
  letter-spacing: 0;
  background-color: #221815;
  color: #ffffff;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content h2 > span:nth-of-type(1) {
    padding: 2.0512820513vw 4.1025641026vw;
    font-size: 5.1282051282vw;
  }
}
.sec_about_slogan_content h2 > span:nth-of-type(2) > span:nth-of-type(1) {
  letter-spacing: max(-0.625vw,-12px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content h2 > span:nth-of-type(2) > span:nth-of-type(1) {
    letter-spacing: -3.0769230769vw;
  }
}
.sec_about_slogan_content h2 > span:nth-of-type(2) > span:nth-of-type(2) {
  letter-spacing: max(-0.3125vw,-6px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content h2 > span:nth-of-type(2) > span:nth-of-type(2) {
    letter-spacing: -1.5384615385vw;
  }
}
.sec_about_slogan_content .wrap {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap {
    width: 92.3076923077vw;
  }
}
.sec_about_slogan_content .wrap:nth-of-type(1)::before {
  content: "";
  display: block;
  position: absolute;
  top: min(3.1546875vw,60.57px);
  right: 0;
  width: min(18.75vw,360px);
  height: min(18.8765625vw,362.43px);
  background: url(../img/about/img01.png) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap:nth-of-type(1)::before {
    top: -15.3846153846vw;
    right: -0.7692307692vw;
    width: 35.8974358974vw;
    height: 34.2025641026vw;
  }
}
.sec_about_slogan_content .wrap:nth-of-type(1)::after {
  content: "";
  display: block;
  position: absolute;
  top: min(18.7328125vw,359.67px);
  right: min(14.5833333333vw,280px);
  width: min(18.75vw,360px);
  height: min(16.2463541667vw,311.93px);
  background: url(../img/about/img02.png) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap:nth-of-type(1)::after {
    display: none;
  }
}
.sec_about_slogan_content .wrap:nth-of-type(2)::before {
  content: "";
  display: block;
  position: absolute;
  top: min(2.5666666667vw,49.28px);
  left: 0;
  width: min(22.9166666667vw,440px);
  height: min(20.6104166667vw,395.72px);
  background: url(../img/about/img03.png) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap:nth-of-type(2)::before {
    top: -15.3846153846vw;
    left: unset;
    right: -0.2564102564vw;
    width: 35.8974358974vw;
    height: 31.6538461538vw;
  }
}
.sec_about_slogan_content .wrap .wrap_content {
  width: min(37.5vw,720px);
  margin: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap .wrap_content {
    width: 100%;
  }
}
.sec_about_slogan_content .wrap .wrap_content.right {
  width: min(40vw,768px);
  margin: 0 0 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap .wrap_content.right {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap .wrap_content {
    gap: 6.1538461538vw;
  }
}
.sec_about_slogan_content .wrap .wrap_content h3 {
  font-family: "Open Sans", sans-serif;
  font-size: min(1.6666666667vw,32px);
  font-weight: 800;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap .wrap_content h3 {
    font-size: 6.1538461538vw;
    gap: 6.1538461538vw;
    margin-bottom: 4.1025641026vw;
  }
}
.sec_about_slogan_content .wrap .wrap_content h3::after {
  content: "";
  flex: 1;
  width: 100%;
  height: 2px;
  background-color: #221815;
}
.sec_about_slogan_content .wrap .wrap_content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
}
.sec_about_slogan_content .wrap .wrap_content p:nth-of-type(1) {
  font-size: min(2.5vw,48px);
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap .wrap_content p:nth-of-type(1) {
    font-size: 7.6923076923vw;
    line-height: 1.5;
  }
}
.sec_about_slogan_content .wrap .wrap_content p:nth-of-type(2) {
  font-size: min(1.25vw,24px);
  line-height: 2.4;
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap .wrap_content p:nth-of-type(2) {
    font-size: 4.1025641026vw;
    line-height: 2;
  }
}
.sec_about_slogan_content h2 + .wrap {
  margin-top: min(4.1666666667vw,80px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content h2 + .wrap {
    margin-top: 20.5128205128vw;
  }
}
.sec_about_slogan_content .wrap + .wrap {
  margin-top: min(8.3333333333vw,160px);
}
@media screen and (max-width: 750px) {
  .sec_about_slogan_content .wrap + .wrap {
    margin-top: 20.5128205128vw;
  }
}

.sec_about_contact {
  width: 100vw;
  height: min(27.7083333333vw,532px);
  padding: min(5.2083333333vw,100px) 0;
  background: url(../img/about/bg_contact.jpg) center/cover no-repeat;
}
@supports (background-image: url(../img/about/bg_contact.webp)) {
  .sec_about_contact {
    background: url(../img/about/bg_contact.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .sec_about_contact {
    display: none;
  }
}
.sec_about_contact_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sec_about_contact_content div:first-child ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: min(1.25vw,24px);
}
.sec_about_contact_content div:first-child ul li {
  font-size: min(1.25vw,24px);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: min(0.625vw,12px);
}
.sec_about_contact_content div:first-child ul li::before {
  content: "";
  display: block;
  width: min(1.25vw,24px);
  height: min(1.25vw,24px);
  background: url(../img/about/ico-check.svg) center/cover no-repeat;
}
.sec_about_contact_content div:first-child > p {
  margin-top: min(2.5vw,48px);
  color: #FFED4D;
  font-size: min(2.5vw,48px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.sec_about_contact_content .contact_wrap {
  background-color: #ffffff;
}

.sec_about_principle {
  width: 100vw;
  padding: min(6.25vw,120px) 0 min(13.0729166667vw,251px);
/*  background: url(../img/about/bg_principle.svg) left bottom/100% no-repeat; --> */
}
@media screen and (max-width: 750px) {
  .sec_about_principle {
    padding: 10.2564102564vw 0 0;
    position: relative;
  }
  .sec_about_principle::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 169.7435897436vw;
    background-color: #EE4C60;
    transform-origin: left;
    transform: skewY(-20deg);
  }
}
.sec_about_principle_content {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content {
    width: 92.3076923077vw;
  }
}
.sec_about_principle_content::after {
  content: "";
  position: absolute;
  top: max(-4.1666666667vw,-80px);
  right: 0;
  width: min(9.5833333333vw,184px);
  height: min(41.6666666667vw,800px);
  background: url(../img/about/logo.svg) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content::after {
    top: -22.0512820513vw;
    right: 0;
    width: 51.2820512821vw;
    height: 11.7948717949vw;
    background: url(../img/about/logo_sp.svg) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content > p {
    width: 86.1538461538vw;
    margin: 0 auto;
    color: #ffffff;
  }
}
.sec_about_principle_content > p:nth-of-type(1) {
  font-size: min(3.5416666667vw,68px);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content > p:nth-of-type(1) {
    font-size: 8.2051282051vw;
    line-height: 1.5;
  }
}
.sec_about_principle_content > p:nth-of-type(2) {
  margin-top: min(2.0833333333vw,40px);
  font-size: min(1.25vw,24px);
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: min(0.125vw,2.4px);
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content > p:nth-of-type(2) {
    margin-top: 6.1538461538vw;
    font-size: 4.1025641026vw;
    line-height: 2;
    letter-spacing: 0;
  }
}
.sec_about_principle_content .wrap {
  margin-top: min(4.1666666667vw,80px);
  background-color: #666;
  padding: min(3.3333333333vw,64px) min(9.5833333333vw,184px);
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap {
    margin-top: 10.2564102564vw;
    padding: 6.1538461538vw;
  }
}
.sec_about_principle_content .wrap + .wrap {
  margin-top: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap + .wrap {
    margin-top: 4.1025641026vw;
  }
}
.sec_about_principle_content .wrap h3 {
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap h3 {
    font-size: 7.1794871795vw;
    gap: 2.0512820513vw;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.sec_about_principle_content .wrap h3 span {
  border-top: 1px solid #ffffff;
  padding-top: min(0.4166666667vw,8px);
  font-family: "Open Sans", sans-serif;
  font-size: min(1.1vw,16px);
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap h3 span {
    padding-top: 2.0512820513vw;
    font-size: 3.5897435897vw;
  }
}
.sec_about_principle_content .wrap .wrap_content {
  margin-top: min(1.25vw,24px);
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
  color: #ffffff;
  font-size: min(1.0416666667vw,20px);
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap .wrap_content {
    margin-top: 6.1538461538vw;
    gap: 4.1025641026vw;
    font-size: 4.1025641026vw;
  }
}
.sec_about_principle_content .wrap .wrap_content h4 {
  font-size: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap .wrap_content h4 {
    font-size: 5.1282051282vw;
    text-align: center;
  }
}
.sec_about_principle_content .wrap .wrap_content ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap .wrap_content ul {
    gap: 2.0512820513vw;
  }
}
.sec_about_principle_content .wrap .wrap_content ul li {
  width: -moz-fit-content;
  width: fit-content;
  padding: min(0.4166666667vw,8px) min(1.25vw,24px);
  background-color: #ffffff;
  border-radius: min(0.2083333333vw,4px);
  color: #666;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_about_principle_content .wrap .wrap_content ul li {
    padding: 2.0512820513vw 3.0769230769vw;
    border-radius: 1.0256410256vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_about_principle {
    background: none;
  }
}

.sec_work_hero {
  width: 100vw;
  padding-bottom: min(4.1666666667vw,80px);
  background-color: #221815;
}
@media screen and (max-width: 750px) {
  .sec_work_hero {
    padding-top: 4.1025641026vw;
    padding-bottom: 10.2564102564vw;
  }
}
.sec_work_hero picture {
  width: min(69.1666666667vw,1328px);
  height: min(38.90625vw,747px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_work_hero picture {
    width: 100%;
    height: 56.1538461538vw;
  }
}
.sec_work_hero picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec_work_hero h1 {
  margin-top: min(1.25vw,24px);
  font-size: min(2.0833333333vw,40px);
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_work_hero h1 {
    margin-top: 6.1538461538vw;
    font-size: 5.1282051282vw;
  }
}
.sec_work_hero p {
  color: #ffffff;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_work_hero p {
    width: 92.3076923077vw;
    margin: 0 auto;
  }
}
.sec_work_hero p:nth-of-type(1) {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  margin-top: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_work_hero p:nth-of-type(1) {
    font-size: 3.5897435897vw;
    margin-top: 4.1025641026vw;
  }
}
.sec_work_hero p:nth-of-type(2) {
  font-size: min(1.3vw,16px);
  font-weight: 400;
  margin-top: min(2.5vw,48px);
}
@media screen and (max-width: 750px) {
  .sec_work_hero p:nth-of-type(2) {
    font-size: 4.1025641026vw;
    margin-top: 8.7179487179vw;
    text-align: left;
  }
}
.sec_work_hero ul {
  margin: min(0.4166666667vw,8px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(0.5208333333vw,10px);
}
@media screen and (max-width: 750px) {
  .sec_work_hero ul {
    width: 92.3076923077vw;
    margin: 2.0512820513vw auto 0;
    gap: 2.5641025641vw;
    flex-wrap: wrap;
  }
}
.sec_work_hero ul li {
  background-color: #ffffff;
  color: #221815;
  font-size: min(0.7291666667vw,14px);
  font-weight: 700;
  line-height: 1;
  height: min(1.3541666667vw,26px);
  padding: 0 min(0.8333333333vw,16px);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_work_hero ul li {
    font-size: 3.5897435897vw;
    height: 6.6666666667vw;
    padding: 0 4.1025641026vw;
  }
}

.sec_work_detail {
  width: min(56.25vw,1080px);
  margin: 0 auto;
  padding: min(3.3333333333vw,64px) 0 min(6.25vw,120px);
}
@media screen and (max-width: 750px) {
  .sec_work_detail {
    width: 92.3076923077vw;
    padding: 6.1538461538vw 0 0;
  }
}
.sec_work_detail .contents_wrap + .contents_wrap {
  margin-top: min(5.2083333333vw,100px);
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap + .contents_wrap {
    margin-top: 16.4102564103vw;
  }
}
.sec_work_detail .contents_wrap h2 {
  background-color: #221815;
  color: #ffffff;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1;
  height: min(2.5vw,48px);
  display: flex;
  align-items: center;
  gap: min(0.5208333333vw,10px);
  padding: 0 min(0.8333333333vw,16px);
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap h2 {
    font-size: 6.1538461538vw;
    height: 9.2307692308vw;
    gap: 2.5641025641vw;
    padding: 0 4.1025641026vw;
    position: relative;
    left: -3.8461538462vw;
  }
}
.sec_work_detail .contents_wrap h2::before {
  content: "";
  display: block;
  width: min(0.8333333333vw,16px);
  height: min(0.8333333333vw,16px);
  background: url(../img/works/ico-square.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap h2::before {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}
.sec_work_detail .contents_wrap_inner {
  width: min(50vw,960px);
  margin: min(2.0833333333vw,40px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner {
    width: 100%;
    margin: 8.2051282051vw auto 0;
  }
}
.sec_work_detail .contents_wrap_inner iframe {
  width: 100%;
  margin-top: min(2.5vw,48px);
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner iframe {
    margin-top: 8.2051282051vw;
    height: 51.2820512821vw;
  }
}
.sec_work_detail .contents_wrap_inner picture {
  margin-top: min(2.5vw,48px);
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner picture {
    margin-top: 8.2051282051vw;
  }
}
.sec_work_detail .contents_wrap_inner picture img {
  width: 100%;
}
.sec_work_detail .contents_wrap_inner h3 {
  margin-top: min(0.8333333333vw,16px);
  font-size: min(1.25vw,24px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner h3 {
    margin-top: 4.1025641026vw;
    font-size: 5.1282051282vw;
  }
}
.sec_work_detail .contents_wrap_inner div + p,
.sec_work_detail .contents_wrap_inner iframe + p {
  margin-top: min(2.5vw,48px);
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner div + p,
  .sec_work_detail .contents_wrap_inner iframe + p {
    margin-top: 8.2051282051vw;
  }
}
.sec_work_detail .contents_wrap_inner p + p {
  margin-top: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner p + p {
    margin-top: 6.1538461538vw;
  }
}
.sec_work_detail .contents_wrap_inner span {
  margin-top: min(0.4166666667vw,8px);
  font-size: min(1.1vw,16px);
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_work_detail .contents_wrap_inner span {
    margin-top: 2.0512820513vw;
    font-size: 4.1025641026vw;
  }
}
.sec_work_detail .btn_square {
  width: min(16.6666666667vw,320px);
  height: min(3.3333333333vw,64px);
  margin: min(5.2083333333vw,100px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_work_detail .btn_square {
    width: 82.0512820513vw;
    height: 16.4102564103vw;
    margin: 25.641025641vw auto 0;
  }
}

.sec_works_list {
  width: min(45.8333333333vw,880px);
  padding: min(2.0833333333vw,40px) 0 min(6.25vw,120px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_works_list {
    width: 92.3076923077vw;
    padding: 10.2564102564vw 0 13.8461538462vw;
  }
}
.sec_works_list .tags {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: min(0.5208333333vw,10px);
  -moz-column-gap: min(0.4166666667vw,8px);
       column-gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .tags {
    row-gap: 1.0256410256vw;
    -moz-column-gap: 2.0512820513vw;
         column-gap: 2.0512820513vw;
    width: 91.2820512821vw;
    margin: 0 auto;
  }
}
.sec_works_list .tags li a {
  border: 1px solid #221815;
  border-radius: min(0.8333333333vw,16px);
  height: min(1.5625vw,30px);
  padding: 0 min(0.8333333333vw,16px);
  font-size: min(0.7291666667vw,14px);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.sec_works_list .tags li a.active {
  background-color: #221815;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_works_list .tags li a {
    border-radius: 4.1025641026vw;
    height: 7.6923076923vw;
    padding: 0 4.1025641026vw;
    font-size: 3.5897435897vw;
  }
}
.sec_works_list .tags li a:hover {
  background-color: #221815;
  color: #ffffff;
}
.sec_works_list .works {
  margin: min(2.0833333333vw,40px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: min(5.2083333333vw,100px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .works {
    margin: 10.2564102564vw 0 0;
    gap: 4.1025641026vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li {
    border: 1px solid #221815;
    background-color: #ffffff;
    border-radius: 6.1538461538vw;
    overflow: hidden;
  }
}
.sec_works_list .works li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li a::after {
    content: "";
    background: url(../img/common/ico-arrow-black.svg) center/contain no-repeat;
    position: absolute;
    width: 5.1282051282vw;
    height: 3.5897435897vw;
    bottom: 6.1538461538vw;
    right: 6.1538461538vw;
  }
}
.sec_works_list .works li a:hover {
  opacity: 0.8;
}
.sec_works_list .works li picture {
  position: relative;
  height: min(25.78125vw,495px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li picture {
    height: 51.7948717949vw;
  }
}
.sec_works_list .works li picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec_works_list .works li picture::after {
  content: "";
  position: absolute;
  bottom: max(-1.0416666667vw,-20px);
  left: 50%;
  width: 1px;
  height: min(2.0833333333vw,40px);
  background-color: #FA6376;
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li picture::after {
    display: none;
  }
}
.sec_works_list .works li div {
  margin-top: min(1.875vw,36px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li div {
    align-items: flex-start;
    margin: 0;
    padding: 4.1025641026vw 6.1538461538vw 11.7948717949vw;
    gap: 1.0256410256vw;
  }
}
.sec_works_list .works li div h2 {
  font-size: min(2.0833333333vw,40px);
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li div h2 {
    font-size: 4.6153846154vw;
  }
}
.sec_works_list .works li div p {
  line-height: 1.8;
}
.sec_works_list .works li div p:nth-of-type(1) {
  font-size: min(0.7291666667vw,14px);
  color: #666;
}
@media screen and (max-width: 750px) {
  .sec_works_list .works li div p:nth-of-type(1) {
    font-size: 3.0769230769vw;
  }
}
.sec_works_list .paging {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(4.1666666667vw,80px);
  margin-top: min(6.25vw,120px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging {
    margin-top: 10.2564102564vw;
    padding-top: 15.3846153846vw;
  }
}
.sec_works_list .paging .prev,
.sec_works_list .paging .next {
  font-family: "Open Sans", sans-serif;
  font-size: min(1.0416666667vw,20px);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging .prev,
  .sec_works_list .paging .next {
    font-size: 5.1282051282vw;
    gap: 4.1025641026vw;
    line-height: 1;
  }
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging .prev {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.sec_works_list .paging .prev::before {
  content: "";
  display: block;
  width: min(2.5vw,48px);
  height: min(0.3125vw,6px);
  background: url(../img/works/ico-arrow.svg) center/contain no-repeat;
  transform: scale(-1, 1);
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging .prev::before {
    width: 12.3076923077vw;
    height: 1.5384615385vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging .next {
    position: absolute;
    top: 0;
    right: 0;
  }
}
.sec_works_list .paging .next::after {
  content: "";
  display: block;
  width: min(2.5vw,48px);
  height: min(0.3125vw,6px);
  background: url(../img/works/ico-arrow.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging .next::after {
    width: 12.3076923077vw;
    height: 1.5384615385vw;
  }
}
.sec_works_list .paging ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: min(0.5208333333vw,10px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging ul {
    gap: 2.5641025641vw;
  }
}
.sec_works_list .paging ul li a {
  width: min(2.5vw,48px);
  height: min(2.5vw,48px);
  border: 1px solid #221815;
  border-radius: min(1.25vw,24px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Open Sans", sans-serif;
  font-size: min(1.25vw,24px);
  font-weight: 600;
  transition: all 0.3s;
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging ul li a {
    width: 12.3076923077vw;
    height: 12.3076923077vw;
    border-radius: 6.1538461538vw;
    font-size: 6.1538461538vw;
  }
}
.sec_works_list .paging ul li a:hover, .sec_works_list .paging ul li a.current {
  background-color: #1AB6BE;
}
.sec_works_list .paging ul li.dot {
  padding: 0 min(0.3125vw,6px);
  display: flex;
  align-items: center;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging ul li.dot {
    padding: 0 1.5384615385vw;
    gap: 2.0512820513vw;
  }
}
.sec_works_list .paging ul li.dot span {
  display: block;
  width: min(0.3125vw,6px);
  height: min(0.3125vw,6px);
  border-radius: 50%;
  background-color: #221815;
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging ul li.dot span {
    width: 1.5384615385vw;
    height: 1.5384615385vw;
  }
}
.sec_works_list .paging ul li.dot::after, .sec_works_list .paging ul li.dot::before {
  content: "";
  display: block;
  width: min(0.3125vw,6px);
  height: min(0.3125vw,6px);
  border-radius: 50%;
  background-color: #221815;
}
@media screen and (max-width: 750px) {
  .sec_works_list .paging ul li.dot::after, .sec_works_list .paging ul li.dot::before {
    width: 1.5384615385vw;
    height: 1.5384615385vw;
  }
}

.sec_banner {
  background-color: #ffffff;
  padding-top: min(2.2395833333vw,43px);
}
@media screen and (max-width: 750px) {
  .sec_banner {
    padding-top: 0;
  }
}
.sec_banner > div:first-child {
  height: min(7.9166666667vw,152px);
  background-color: #D32A76;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child {
    margin-top: 0;
    padding-top: 4.8717948718vw;
    height: 49.2307692308vw;
  }
}
.sec_banner > div:first-child .sec_banner_inner {
  width: min(71.25vw,1368px);
  height: 100%;
  margin: 0 auto;
  padding-right: min(11.6666666667vw,224px);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner {
    width: 100%;
    padding-right: 0;
  }
}
.sec_banner > div:first-child .sec_banner_inner::after {
  content: "";
  width: min(10.4166666667vw,200px);
  height: min(9.9479166667vw,191px);
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../img/service/img_01.png) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner::after {
    width: 27.6923076923vw;
    height: 26.4102564103vw;
    right: 3.8461538462vw;
    background: url(../img/service/img_01.png) center/contain no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner {
    flex-direction: column;
    justify-content: flex-start;
    gap: 3.5897435897vw;
  }
}
.sec_banner > div:first-child .sec_banner_inner > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner > div {
    gap: 1.7948717949vw;
    width: 100%;
  }
}
.sec_banner > div:first-child .sec_banner_inner > div:first-child p {
  line-height: 1.5;
}
.sec_banner > div:first-child .sec_banner_inner > div:first-child p:first-child {
  font-size: min(1.25vw,24px);
  font-weight: 700;
  color: #FFED4D;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner > div:first-child p:first-child {
    font-size: 4.1025641026vw;
    width: 90%;
  }
}
.sec_banner > div:first-child .sec_banner_inner > div:first-child p:last-child {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner > div:first-child p:last-child {
    font-size: 2.5641025641vw;
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner > div:last-child {
    padding-right: 30.7692307692vw;
  }
}
.sec_banner > div:first-child .sec_banner_inner > div:last-child p {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner > div:last-child p {
    font-size: 3.0769230769vw;
  }
}
.sec_banner > div:first-child .sec_banner_inner > div:last-child p span {
  background-color: #02AD9F;
  display: inline-block;
  padding: 0 min(0.2083333333vw,4px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:first-child .sec_banner_inner > div:last-child p span {
    padding: 0 1.0256410256vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner {
  width: min(71.25vw,1368px);
  margin: 0 auto;
  height: min(5vw,96px);
  display: flex;
  gap: min(2.96875vw,57px);
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner {
    width: 100%;
    height: 57.8384615385vw;
    flex-direction: column;
    gap: 0;
  }
}
.sec_banner > div:last-child .sec_banner_inner p {
  font-size: min(1.0416666667vw,20px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner p {
    font-size: 3.5897435897vw;
    padding: 6.1538461538vw 0;
  }
}
.sec_banner > div:last-child .sec_banner_inner div {
  display: flex;
  gap: min(1.6666666667vw,32px);
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0;
  }
  .sec_banner > div:last-child .sec_banner_inner div span {
    height: 1.7948717949vw;
    width: 100%;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(1) {
  width: min(5.1041666667vw,98px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(1) {
    width: 29.2025641026vw;
    margin-right: 11.1923076923vw;
    margin-left: 15.0128205128vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(2) {
  width: min(6.6145833333vw,127px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(2) {
    width: 37.9256410256vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(3) {
  width: min(8.0729166667vw,155px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(3) {
    width: 46.3512820513vw;
    margin-right: 4.5487179487vw;
    margin-left: 6.4102564103vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(4) {
  width: min(7.4479166667vw,143px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(4) {
    width: 34.141025641vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(5) {
  width: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(5) {
    width: 7.6461538462vw;
    margin-right: 7.6461538462vw;
    margin-left: 31.9794871795vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(6) {
  width: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(6) {
    width: 7.6461538462vw;
    margin-right: 7.6461538462vw;
  }
}
.sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(7) {
  width: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_banner > div:last-child .sec_banner_inner div img:nth-of-type(7) {
    width: 7.6461538462vw;
  }
}

.sec_text {
  padding: min(3.3333333333vw,64px) 0;
  background-color: #FFF;
}
@media screen and (max-width: 750px) {
  .sec_text {
    padding: 16.4102564103vw 0;
  }
}
.sec_text.gray {
  background-color: #F1F1EE;
}
.sec_text.center .sec_text_inner {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_text.center .sec_text_inner {
    text-align: left;
  }
}
.sec_text.center .sec_text_inner p {
  font-weight: 400;
}
.sec_text_inner {
  width: min(62.5vw,1200px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_text_inner {
    width: 88.7179487179vw;
  }
}
.sec_text_inner h2 {
  font-size: min(2.7083333333vw,52px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_text_inner h2 {
    font-size: 5.641025641vw;
    margin-bottom: 4.1025641026vw;
  }
  .sec_text_inner h2 span {
    display: inline-block !important;
  }
  .sec_text_inner h2 span:nth-of-type(1) {
    padding: 0 20.5128205128vw 0 15.3846153846vw;
  }
  .sec_text_inner h2 span:nth-of-type(2) {
    padding: 0 2.0512820513vw 0 7.6923076923vw;
  }
}
.sec_text_inner h3 {
  font-size: min(1.4583333333vw,28px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: min(0.8333333333vw,16px);
}
.sec_text_inner p {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_text_inner p {
    font-size: 4.1025641026vw;
  }
}
.sec_text_inner p + p {
  margin-top: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_text_inner p + p {
    margin-top: 4.1025641026vw;
  }
}

.sec_reason {
  position: relative;
}
.sec_reason_header {
  height: min(21.6666666667vw,416px);
  background-color: #3E4657;
  padding: min(2.5vw,48px) 0 0;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_reason_header {
    height: 102.3076923077vw;
    padding: 6.1538461538vw 0 0;
  }
}
.sec_reason_header img {
  width: min(7.2916666667vw,140px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_reason_header img {
    width: 25.641025641vw;
  }
}
.sec_reason_header h2 {
  margin-top: min(1.25vw,24px);
  font-size: min(2.5vw,48px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_reason_header h2 {
    margin-top: 4.1025641026vw;
    font-size: 7.1794871795vw;
  }
}
.sec_reason_header p {
  width: min(69.1666666667vw,1328px);
  margin: min(0.8333333333vw,16px) auto 0;
  font-size: min(0.9375vw,18px);
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_reason_header p {
    width: 92.3076923077vw;
    margin: 2.0512820513vw auto 0;
    font-size: 3.8461538462vw;
    text-align: left;
    font-weight: 400;
  }
}
.sec_reason_contents {
  background: linear-gradient(to bottom, #1AB6BE 0%, #1AB6BE 99.9%, #F5F4ED 99.9%, #F5F4ED 100%);
  padding: min(4.1666666667vw,80px) 0 min(8.8020833333vw,169px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents {
    padding: 10.2564102564vw 0 18.7179487179vw;
  }
}
.sec_reason_contents .reason_card {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: min(1.25vw,24px);
  padding: min(0.8333333333vw,16px) min(3.3333333333vw,64px) min(2.0833333333vw,40px);
  display: flex;
  flex-direction: column;
  gap: min(1.25vw,24px);
  color: #3E4657;
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card {
    width: 92.3076923077vw;
    border-radius: 6.1538461538vw;
    padding: 3.0769230769vw 3.0769230769vw 4.1025641026vw;
    gap: 2.0512820513vw;
  }
}
.sec_reason_contents .reason_card_header {
  height: min(6.5625vw,126px);
  display: flex;
  gap: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_header {
    height: 19.7435897436vw;
    gap: 3.0769230769vw;
  }
}
.sec_reason_contents .reason_card_header > span {
  width: min(5.2083333333vw,100px);
  height: min(5.2083333333vw,100px);
  background: url(../img/service/bg_number.svg) center/cover no-repeat;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Open Sans", sans-serif;
  font-size: min(2.2916666667vw,44px);
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_header > span {
    width: 16.4102564103vw;
    height: 16.4102564103vw;
    font-size: 7.1794871795vw;
  }
}
.sec_reason_contents .reason_card_header h3 {
  height: min(4.7916666667vw,92px);
  border-bottom: 2px solid #221815;
  font-size: min(1.6666666667vw,32px);
  font-weight: 400;
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_header h3 {
    height: 19.7435897436vw;
    font-size: 4.6153846154vw;
    font-weight: 400;
    line-height: 1.2;
  }
}
.sec_reason_contents .reason_card_header h3 span {
  font-size: min(2.0833333333vw,40px);
  font-weight: 700;
  line-height: 1.5;
  background-color: #FFED4D;
  padding: 0 min(0.2604166667vw,5px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_header h3 span {
    font-size: 6.1538461538vw;
    padding: 0 1.2820512821vw;
  }
}
.sec_reason_contents .reason_card_header h3 span b {
  font-size: min(2.7083333333vw,52px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_header h3 span b {
    font-size: 8.2051282051vw;
  }
}
.sec_reason_contents .reason_card_contents {
  display: flex;
  align-items: flex-end;
  gap: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_contents {
    gap: 2.0512820513vw;
    flex-direction: column;
    padding: 0 3.0769230769vw;
  }
}
.sec_reason_contents .reason_card_contents div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_contents div {
    gap: 2.0512820513vw;
  }
}
.sec_reason_contents .reason_card_contents div p {
  font-size: min(0.9375vw,18px);
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_contents div p {
    font-size: 3.5897435897vw;
  }
}
.sec_reason_contents .reason_card_contents div p.lh2 {
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_contents div p.lh2 {
    line-height: 1.5;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2.0512820513vw;
  }
  .sec_reason_contents .reason_card_contents div p.lh2 span {
    width: 20.5128205128vw;
  }
  .sec_reason_contents .reason_card_contents div p.lh2 br + span + u,
  .sec_reason_contents .reason_card_contents div p.lh2 br + span {
    margin-top: 4.1025641026vw;
  }
  .sec_reason_contents .reason_card_contents div p.lh2 u {
    width: calc(100% - 20.5128205128vw);
  }
}
.sec_reason_contents .reason_card_contents div .dashed-line {
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #3E4657 0, #3E4657 4px, transparent 4px, transparent 8px);
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_contents div .dashed-line {
    margin: 2.0512820513vw 0;
  }
}
.sec_reason_contents .reason_card_contents picture {
  width: min(8.3333333333vw,160px);
  height: auto;
}
@media screen and (max-width: 750px) {
  .sec_reason_contents .reason_card_contents picture {
    width: 20.5128205128vw;
  }
}
.sec_reason_contents .reason_card_contents picture img {
  width: 100%;
}
.sec_reason::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: url(../img/service/bg_reason.svg) bottom/100% no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_reason::after {
    background: url(../img/service/bg_reason_sp.svg) bottom/100% no-repeat;
  }
}

.sec_service_contact {
  position: relative;
  height: min(25vw,480px);
  background: linear-gradient(rgba(34, 24, 21, 0.5), rgba(34, 24, 21, 0.5)), url(../img/service/bg_contact.jpg) center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
@supports (background-image: url(../img/service/bg_contact.webp)) {
  .sec_service_contact {
    background: linear-gradient(rgba(34, 24, 21, 0.5), rgba(34, 24, 21, 0.5)), url(../img/service/bg_contact.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 750px) {
  .sec_service_contact {
    height: 96.4102564103vw;
    background: linear-gradient(rgba(34, 24, 21, 0.5), rgba(34, 24, 21, 0.5)), url(../img/service/bg_contact_sp.jpg) center/cover no-repeat;
  }
  @supports (background-image: url(../img/service/bg_contact_sp.webp)) {
    .sec_service_contact {
      background: linear-gradient(rgba(34, 24, 21, 0.5), rgba(34, 24, 21, 0.5)), url(../img/service/bg_contact_sp.webp) center/cover no-repeat;
    }
  }
}
@media screen and (max-width: 750px) {
  .sec_service_contact {
    align-items: flex-start;
  }
}
.sec_service_contact_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec_service_contact_inner {
    width: 100%;
    justify-content: center;
  }
}
.sec_service_contact_inner > div {
  color: #ffffff;
}
.sec_service_contact_inner > div:first-child h2 {
  font-family: "Open Sans", sans-serif;
  font-size: min(2.9166666667vw,56px);
  font-weight: 900;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_service_contact_inner > div:first-child h2 {
    font-size: 12.3076923077vw;
    margin-top: 10.2564102564vw;
    text-align: center;
  }
}
.sec_service_contact_inner > div:first-child p {
  margin-top: min(0.4166666667vw,8px);
  font-size: min(1.0416666667vw,20px);
}
@media screen and (max-width: 750px) {
  .sec_service_contact_inner > div:first-child p {
    margin-top: 35.1282051282vw;
    font-size: 4.1025641026vw;
    text-align: center;
    line-height: 2;
    font-weight: 700;
  }
}
.sec_service_contact_inner > div:last-child {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_service_contact_inner > div:last-child {
    position: absolute;
    top: 34.8717948718vw;
  }
}
.sec_service_contact_inner > div:last-child a {
  margin-top: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_service_contact_inner > div:last-child a {
    margin-top: 4.1025641026vw;
  }
}

.sec_category {
  background-color: #1AB6BE;
  padding: min(4.1666666667vw,80px) 0 min(5.2083333333vw,100px);
}
@media screen and (max-width: 750px) {
  .sec_category {
    padding: 10.2564102564vw 0;
  }
}
.sec_category_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_category_inner {
    width: 92.3076923077vw;
  }
}
.sec_category_inner h2 {
  font-family: "Open Sans", sans-serif;
  font-size: min(2.9166666667vw,56px);
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_category_inner h2 {
    font-size: 10.2564102564vw;
  }
}
.sec_category_inner p {
  font-size: min(0.9375vw,18px);
  text-align: center;
}
.sec_category_inner p:nth-of-type(1) {
  margin-top: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_category_inner p:nth-of-type(1) {
    margin-top: 1.0256410256vw;
    font-size: 3.0769230769vw;
  }
}
.sec_category_inner p:nth-of-type(2) {
  margin-top: min(3.3333333333vw,64px);
}
@media screen and (max-width: 750px) {
  .sec_category_inner p:nth-of-type(2) {
    margin-top: 6.1538461538vw;
    font-size: 3.5897435897vw;
  }
}
.sec_category_inner ul {
  margin: min(2.5vw,48px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_category_inner ul {
    margin: 6.1538461538vw 0 0;
    gap: 4.1025641026vw;
  }
}
.sec_category_inner ul li {
  width: min(16.3541666667vw,314px);
  height: min(16.3541666667vw,314px);
  background-color: #ffffff;
  border-radius: min(1.25vw,24px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: min(2.2916666667vw,44px) 0 min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_category_inner ul li {
    width: 44.1025641026vw;
    height: 44.1025641026vw;
    border-radius: 6.1538461538vw;
    padding: 4.6153846154vw 0 3.0769230769vw;
  }
}
.sec_category_inner ul li img {
  width: min(10vw,192px);
  height: min(10vw,192px);
}
@media screen and (max-width: 750px) {
  .sec_category_inner ul li img {
    width: 26.9230769231vw;
    height: 26.9230769231vw;
  }
}
.sec_category_inner ul li p {
  font-size: min(1.0416666667vw,20px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_category_inner ul li p {
    font-size: 4.1025641026vw;
  }
}

.sec_overview {
  padding: min(6.9791666667vw,134px) 0 min(4.1666666667vw,80px);
  background-color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_overview {
    padding: 10.2564102564vw 0 32.0512820513vw;
  }
}
.sec_overview_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_overview_inner {
    width: 92.3076923077vw;
  }
}
.sec_overview_inner h2 {
  font-size: min(2.7083333333vw,52px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_overview_inner h2 {
    font-size: 8.2051282051vw;
    margin-bottom: 6.1538461538vw;
  }
}
.sec_overview_inner h3 {
  font-size: min(1.4583333333vw,28px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_overview_inner h3 {
    font-size: 6.1538461538vw;
    margin-bottom: 4.1025641026vw;
  }
}
.sec_overview_inner p {
  font-size: min(1.1vw,16px);
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_overview_inner p {
    font-size: 4.1025641026vw;
    text-align: left;
  }
}
.sec_overview_inner p + p {
  margin-top: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_overview_inner p + p {
    margin-top: 4.1025641026vw;
  }
}
.sec_overview_inner:nth-of-type(2) h3 {
  margin: min(3.3333333333vw,64px) 0 min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_overview_inner:nth-of-type(2) h3 {
    margin: 14.8717948718vw 0 2.0512820513vw;
  }
}
.sec_overview_inner dl {
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_overview_inner dl {
    gap: 4.1025641026vw;
  }
}
.sec_overview_inner dl dt {
  height: min(3.3333333333vw,64px);
  border: 1px solid #221815;
  display: flex;
}
@media screen and (max-width: 750px) {
  .sec_overview_inner dl dt {
    height: auto;
  }
}
.sec_overview_inner dl dt span:nth-of-type(1) {
  width: min(4.3229166667vw,83px);
  background-color: #221815;
  color: #ffffff;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: min(2.2916666667vw,44px);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_overview_inner dl dt span:nth-of-type(1) {
    width: 13.5897435897vw;
    font-size: 8.2051282051vw;
  }
}
.sec_overview_inner dl dt span:nth-of-type(2) {
  padding: 0 min(1.0416666667vw,20px);
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec_overview_inner dl dt span:nth-of-type(2) {
    padding: 2.0512820513vw 4.1025641026vw;
    font-size: 5.1282051282vw;
    flex: 1;
  }
}
.sec_overview_inner dl dd {
  font-size: min(1.1vw,16px);
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_overview_inner dl dd {
    font-size: 4.1025641026vw;
  }
}
.sec_overview_inner dl + dl {
  margin-top: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_overview_inner dl + dl {
    margin-top: 8.2051282051vw;
  }
}
.sec_overview .sec_slider {
  margin: min(2.0833333333vw,40px) 0;
}
@media screen and (max-width: 750px) {
  .sec_overview .sec_slider {
    margin: 10.2564102564vw 0;
  }
}

.sec_flow {
  height: min(75.46875vw,1449px);
  padding: min(4.1666666667vw,80px) 0 min(6.25vw,120px);
  background: linear-gradient(180deg, #ffffff 0%, #ffffff min(26.5104166667vw,509px), #221815 min(26.5104166667vw,509px), #221815 100%);
}
@media screen and (max-width: 750px) {
  .sec_flow {
    height: 326.9230769231vw;
    padding: 10.2564102564vw 0 53.3333333333vw;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 197.6923076923vw, #221815 197.6923076923vw, #221815 100%);
  }
}
.sec_flow_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner {
    width: 92.3076923077vw;
  }
}
.sec_flow_inner h2 {
  font-size: min(2.5vw,48px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner h2 {
    font-size: 8.2051282051vw;
  }
}
.sec_flow_inner ul {
  margin: min(2.5vw,48px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: min(1.6666666667vw,32px);
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul {
    margin: 6.1538461538vw 0 0;
  }
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul {
    gap: 6.1538461538vw 4.1025641026vw;
    flex-wrap: wrap;
  }
}
.sec_flow_inner ul li {
  width: min(12.5vw,240px);
  background-color: #ffffff;
  border: 1px solid #221815;
  position: relative;
  padding: min(1.25vw,24px);
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul li {
    width: 44.1025641026vw;
    padding: 4.1025641026vw 3.8461538462vw;
    gap: 4.1025641026vw;
  }
}
.sec_flow_inner ul li span {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: min(2.5vw,48px);
  line-height: 1;
  color: #FA6376;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul li span {
    position: absolute;
    top: 2.0512820513vw;
    left: 4.1025641026vw;
    font-size: 8.2051282051vw;
  }
}
.sec_flow_inner ul li h3 {
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul li h3 {
    font-size: 5.1282051282vw;
    text-align: left;
    padding-left: 10.2564102564vw;
    margin-right: -3.8461538462vw;
  }
}
.sec_flow_inner ul li p {
  font-size: min(0.9375vw,18px);
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul li p {
    font-size: 3.5897435897vw;
  }
}
.sec_flow_inner ul li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: max(-1.6666666667vw,-32px);
  top: 50%;
  transform: translateY(-50%);
  width: min(1.6145833333vw,31px);
  height: min(6.6666666667vw,128px);
  border-style: solid;
  border-width: min(3.3333333333vw,64px) 0 min(3.3333333333vw,64px) min(1.6145833333vw,31px);
  border-color: transparent transparent transparent #FA6376;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner ul li:not(:last-child)::after {
    right: -4.1025641026vw;
    width: 3.8461538462vw;
    height: 16.4102564103vw;
    border-width: 8.2051282051vw 0 8.2051282051vw 3.8461538462vw;
  }
}
.sec_flow_inner ul li:nth-of-type(2)::after, .sec_flow_inner ul li:nth-of-type(4)::after {
  display: none;
}
.sec_flow_inner .image_wrap {
  margin: min(3.125vw,60px) 0 0;
  width: 100%;
  height: min(37.5vw,720px);
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner .image_wrap {
    margin: 10.2564102564vw -3.8461538462vw 0;
    width: calc(100% + 7.6923076923vw);
    height: 55.3846153846vw;
  }
}
.sec_flow_inner .image_wrap .float_text {
  position: absolute;
  right: min(5.2083333333vw,100px);
  bottom: min(4.1666666667vw,80px);
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner .image_wrap .float_text {
    right: unset;
    bottom: -43.0769230769vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
}
.sec_flow_inner .image_wrap .float_text h3 {
  font-size: min(2.0833333333vw,40px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner .image_wrap .float_text h3 {
    font-size: 8.2051282051vw;
  }
}
.sec_flow_inner .image_wrap .float_text p {
  margin-top: min(1.25vw,24px);
  font-size: min(1.0416666667vw,20px);
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_flow_inner .image_wrap .float_text p {
    margin-top: 4.1025641026vw;
    font-size: 4.1025641026vw;
  }
}
.sec_flow_inner .image_wrap .image {
  width: 100%;
  height: 100%;
  position: relative;
}
.sec_flow_inner .image_wrap .image .wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}
.sec_flow_inner .image_wrap .image .wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}
.sec_flow_inner .image_wrap .image .wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, #221815 0.5px, transparent 0.5px);
  background-position: 0 0;
  background-size: 5px 5px;
  pointer-events: none;
}
.sec_flow_inner .image_wrap .image::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(34, 24, 21, 0.5);
  pointer-events: none;
}

.sec_shopify {
  background-color: #404040;
  padding: min(7.8125vw,150px) 0 min(9.375vw,180px);
}
@media screen and (max-width: 750px) {
  .sec_shopify {
    padding: 17.1794871795vw 0 16.6666666667vw;
  }
}
.sec_shopify_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner {
    width: 92.3076923077vw;
  }
}
.sec_shopify_inner .card {
  background-color: #ffffff;
  border-radius: min(3.125vw,60px);
  padding: min(3.2291666667vw,62px) min(5.2083333333vw,100px) min(4.3229166667vw,83px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .card {
    border-radius: 15.3846153846vw;
    padding: 20.1179487179vw 7.5205128205vw 20.2564102564vw;
  }
}
.sec_shopify_inner .card h2 {
  width: min(11.875vw,228px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .card h2 {
    width: 31.741025641vw;
  }
}
.sec_shopify_inner .card h2 img {
  width: 100%;
}
.sec_shopify_inner .card p {
  margin-top: min(2.1875vw,42px);
  font-size: min(1.1vw,16px);
  line-height: 2;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .card p {
    margin-top: 15.0358974359vw;
    font-size: 4.1025641026vw;
  }
}
.sec_shopify_inner .card p b {
  font-size: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .card p b {
    font-size: 6.1538461538vw;
  }
}
.sec_shopify_inner > h2 {
  margin-top: min(3.4375vw,66px);
  font-size: min(2.7083333333vw,52px);
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > h2 {
    margin-top: 7.9487179487vw;
    font-size: 8.2051282051vw;
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > h2 {
    gap: 3.5897435897vw;
  }
}
.sec_shopify_inner > h2 span {
  font-size: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > h2 span {
    font-size: 6.1538461538vw;
  }
}
.sec_shopify_inner > h3 {
  margin-top: min(3.4375vw,66px);
  text-align: center;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.5;
  color: #FFED4D;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > h3 {
    margin-top: 3.5897435897vw;
    font-size: 5.641025641vw;
  }
}
.sec_shopify_inner > ul {
  margin: min(3.3854166667vw,65px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: min(2.1875vw,42px);
  align-items: flex-start;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin: 7.9487179487vw 0 0;
    gap: 10.1820512821vw;
  }
}
.sec_shopify_inner > ul li {
  width: min(15.5729166667vw,299px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(1.3020833333vw,25px);
  color: #ffffff;
}
.sec_shopify_inner > ul li > div {
  width: 100%;
  height: min(15.5729166667vw,299px);
  border-radius: 100%;
  border: min(0.3645833333vw,7px) solid #ffffff;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > div {
    height: 61.5384615385vw;
    border: 1.7948717949vw solid #ffffff;
  }
}
.sec_shopify_inner > ul li > div > span {
  height: min(7.5520833333vw,145px);
  color: #ffffff;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: min(1.8229166667vw,35px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > div > span {
    height: 30.7692307692vw;
    font-size: 5.641025641vw;
    padding-top: 3.0769230769vw;
  }
}
.sec_shopify_inner > ul li > div > p {
  flex: 1;
  background-color: #ffffff;
  color: #404040;
  padding-top: min(0.9375vw,18px);
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > div > p {
    padding-top: 3.6974358974vw;
    font-size: 5.641025641vw;
  }
}
.sec_shopify_inner > ul li > div > p > b {
  font-size: min(2.2916666667vw,44px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > div > p > b {
    font-size: 8.7179487179vw;
  }
}
.sec_shopify_inner > ul li > div > p > span {
  font-size: min(1.25vw,24px);
  display: block;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > div > p > span {
    font-size: 4.1025641026vw;
  }
}
.sec_shopify_inner > ul li:nth-of-type(1) div > span {
  padding-top: 0;
}
.sec_shopify_inner > ul li:nth-of-type(1) div > p {
  line-height: 1.1;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li {
    width: 61.5384615385vw;
    gap: 2.9461538462vw;
  }
}
.sec_shopify_inner > ul li > span {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > span {
    font-size: 3.0769230769vw;
  }
}
.sec_shopify_inner > ul li > p {
  font-size: min(1.25vw,24px);
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner > ul li > p {
    font-size: 4.1025641026vw;
  }
}
.sec_shopify_inner .point_list {
  margin-top: min(6.7708333333vw,130px);
  display: flex;
  flex-direction: column;
  gap: min(2.9166666667vw,56px);
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .point_list {
    margin-top: 14.2282051282vw;
    gap: 8.2051282051vw;
  }
}
.sec_shopify_inner .point_list dl {
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .point_list dl {
    gap: 4.1025641026vw;
  }
}
.sec_shopify_inner .point_list dl dt {
  height: min(3.3333333333vw,64px);
  border: 1px solid #ffffff;
  display: flex;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .point_list dl dt {
    min-height: 12.3076923077vw;
    height: auto;
  }
}
.sec_shopify_inner .point_list dl dt span:nth-of-type(1) {
  width: min(4.3229166667vw,83px);
  background-color: #ffffff;
  color: #221815;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: min(2.2916666667vw,44px);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .point_list dl dt span:nth-of-type(1) {
    width: 13.5897435897vw;
    font-size: 8.2051282051vw;
  }
}
.sec_shopify_inner .point_list dl dt span:nth-of-type(2) {
  padding: 0 min(1.0416666667vw,20px);
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .point_list dl dt span:nth-of-type(2) {
    padding: 2.0512820513vw 4.1025641026vw;
    font-size: 5.641025641vw;
    flex: 1;
  }
}
.sec_shopify_inner .point_list dl dd {
  font-size: min(1.1vw,16px);
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .point_list dl dd {
    font-size: 4.1025641026vw;
  }
}
.sec_shopify_inner .btn_wrap {
  margin-top: min(9.375vw,180px);
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .btn_wrap {
    margin-top: 15.641025641vw;
  }
}
.sec_shopify_inner .btn_wrap span {
  font-size: min(1.1vw,16px);
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .btn_wrap span {
    font-size: 2.5641025641vw;
  }
}
.sec_shopify_inner .btn_wrap a {
  margin: min(0.4166666667vw,8px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_shopify_inner .btn_wrap a {
    margin: 1.2820512821vw auto 0;
    box-shadow: none;
    font-size: 3.5897435897vw;
  }
}

.sec_problem {
  padding: min(3.3333333333vw,64px) 0 min(9.375vw,180px);
  background-image: linear-gradient(-20deg, #91DEE8 54.5%, #FFEA00 54.5%);
}
@media screen and (max-width: 750px) {
  .sec_problem {
    padding: 6.1538461538vw 0 16.1538461538vw;
    background-image: linear-gradient(-20deg, #91DEE8 66.5%, #FFEA00 66.5%);
  }
}
.sec_problem_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner {
    width: 92.3076923077vw;
  }
}
.sec_problem_inner h2 {
  position: relative;
}
.sec_problem_inner h2:nth-of-type(1) {
  text-align: center;
  font-size: min(2.0833333333vw,40px);
  line-height: 1.5;
}
.sec_problem_inner h2:nth-of-type(1) > span {
  display: block;
  width: min(4.1666666667vw,80px);
  margin: 0 auto min(2.0833333333vw,40px);
  height: min(4.1666666667vw,80px);
  border-radius: min(2.0833333333vw,40px);
  background-color: #221815;
  font-family: "Open Sans", sans-serif;
  font-size: min(3.3333333333vw,64px);
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(1) > span {
    width: 12.3076923077vw;
    margin: 0 auto 4.1025641026vw;
    height: 12.3076923077vw;
    border-radius: 6.1538461538vw;
    font-size: 9.2307692308vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(1) {
    font-size: 7.1794871795vw;
  }
}
.sec_problem_inner h2:nth-of-type(1) b {
  color: #D32A76;
}
.sec_problem_inner h2:nth-of-type(2) {
  margin: min(4.1666666667vw,80px) auto;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2) {
    margin: 12.3076923077vw auto;
  }
}
.sec_problem_inner h2:nth-of-type(2) span:nth-of-type(1) {
  display: block;
  width: min(17.7083333333vw,340px);
  margin: 0 auto;
  height: min(4.4791666667vw,86px);
  border-radius: min(0.8333333333vw,16px);
  background-color: #221815;
  color: #ffffff;
  font-size: min(1.875vw,36px);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2) span:nth-of-type(1) {
    width: 53.3333333333vw;
    height: 16.4102564103vw;
    border-radius: 4.1025641026vw;
    font-size: 8.2051282051vw;
  }
}
.sec_problem_inner h2:nth-of-type(2) span:nth-of-type(1)::after {
  content: "";
  width: min(2.5vw,48px);
  height: min(1.25vw,24px);
  border-style: solid;
  border-width: min(2.5vw,48px) min(1.25vw,24px) 0;
  border-color: #221815 transparent transparent;
  position: absolute;
  bottom: max(-1.25vw,-24px);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2) span:nth-of-type(1)::after {
    width: 8.2051282051vw;
    height: 4.1025641026vw;
    border-width: 8.2051282051vw 4.1025641026vw 0;
    bottom: -4.1025641026vw;
  }
}
.sec_problem_inner h2:nth-of-type(2) span:nth-of-type(2) {
  display: block;
  margin-top: min(1.6666666667vw,32px);
  text-align: center;
  font-size: min(1.4583333333vw,28px);
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2) span:nth-of-type(2) {
    margin-top: 6.1538461538vw;
    font-size: 4.1025641026vw;
  }
}
.sec_problem_inner h2:nth-of-type(2) span:nth-of-type(2) b {
  font-size: min(2.7083333333vw,52px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2) span:nth-of-type(2) b {
    font-size: 8.2051282051vw;
  }
}
.sec_problem_inner h2:nth-of-type(2)::before {
  content: "";
  width: min(4.6875vw,90px);
  height: min(10.4166666667vw,200px);
  background: url(../img/service/h2_deco01.png) center/contain no-repeat;
  position: absolute;
  bottom: 0;
  left: max(-5.5208333333vw,-106px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2)::before {
    width: 12.3076923077vw;
    height: 27.4358974359vw;
    left: -13.3333333333vw;
  }
}
.sec_problem_inner h2:nth-of-type(2)::after {
  content: "";
  width: min(5.6770833333vw,109px);
  height: min(6.25vw,120px);
  background: url(../img/service/h2_deco02.png) center/contain no-repeat;
  position: absolute;
  bottom: 0;
  right: max(-6.5104166667vw,-125px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2:nth-of-type(2)::after {
    width: 14.358974359vw;
    height: 15.8974358974vw;
    right: -15.3846153846vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_problem_inner h2::after {
    content: "";
    position: absolute;
    bottom: -1.0256410256vw;
    right: 0.7692307692vw;
    width: 12.8205128205vw;
    height: 14.358974359vw;
    background: url(../img/service/deco04.png) center/contain no-repeat;
  }
}
.sec_problem_inner .problem_list {
  margin: min(2.7083333333vw,52px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(3.3333333333vw,64px) min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list {
    margin: 9.7435897436vw 0 0;
    gap: 8.7179487179vw;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.sec_problem_inner .problem_list > li {
  flex: 0 0 calc((100% - min(4.1666666667vw,80px)) / 3);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li {
    flex: 0 0 100%;
    position: relative;
  }
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li {
    gap: 0;
    border: 1.0256410256vw solid #221815;
  }
}
.sec_problem_inner .problem_list > li h3 {
  width: min(16.6666666667vw,320px);
  height: min(10.4166666667vw,200px);
  border: min(0.2083333333vw,4px) solid #221815;
  background-color: #ffffff;
  border-radius: 100%;
  box-shadow: min(0.4166666667vw,8px) min(0.4166666667vw,8px) 0 0 #221815;
  font-size: min(1.25vw,24px);
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li h3 {
    border-radius: 0;
    background-color: #221815;
    color: #ffffff;
    width: 100%;
    height: unset;
    box-shadow: none;
    font-size: 6.1538461538vw;
    padding: 1.7948717949vw 0;
  }
}
.sec_problem_inner .problem_list > li h3 span {
  font-size: min(1.1vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li h3 span {
    font-size: 6.1538461538vw;
  }
}
.sec_problem_inner .problem_list > li > div {
  width: 100%;
  min-height: min(10.625vw,204px);
  border: min(0.2083333333vw,4px) solid #221815;
  background-color: #ffffff;
  box-shadow: min(0.4166666667vw,8px) min(0.4166666667vw,8px) 0 0 #221815;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li > div {
    min-height: unset;
    border: 0;
    box-shadow: none;
    display: block;
    padding: 3.0769230769vw 3.0769230769vw;
    flex: 1;
    position: unset;
  }
}
.sec_problem_inner .problem_list > li > div > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  width: min(16.6666666667vw,320px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li > div > ul {
    width: 100%;
  }
}
.sec_problem_inner .problem_list > li > div > ul li {
  padding-left: min(1.0416666667vw,20px);
  font-size: min(1.1vw,16px);
  font-weight: 700;
  line-height: 1.8;
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li > div > ul li {
    padding-left: 3.0769230769vw;
    font-size: 3.8461538462vw;
  }
}
.sec_problem_inner .problem_list > li > div > ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: min(0.4166666667vw,8px);
  width: min(0.625vw,12px);
  height: min(0.625vw,12px);
  background-color: #221815;
  border-radius: 50%;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li > div > ul li::before {
    top: 2.0512820513vw;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
  }
}
.sec_problem_inner .problem_list > li > div::before {
  content: "";
  width: min(0.9625vw,18.48px);
  height: min(0.8333333333vw,16px);
  border-style: solid;
  border-width: 0 min(0.48125vw,9.24px) min(0.8333333333vw,16px) min(0.48125vw,9.24px);
  border-color: transparent transparent #221815 transparent;
  position: absolute;
  top: max(-0.8333333333vw,-16px);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li > div::before {
    display: none;
  }
}
.sec_problem_inner .problem_list > li > div::after {
  content: "抱えている課題";
  position: absolute;
  right: 0;
  top: max(-1.3541666667vw,-26px);
  font-size: min(0.625vw,12px);
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .problem_list > li > div::after {
    top: -6.6666666667vw;
    font-size: 3.0769230769vw;
  }
}
.sec_problem_inner .solution_list {
  margin: min(5.8333333333vw,112px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list {
    margin: 35.1282051282vw 0 0;
    flex-direction: column;
    gap: 12.3076923077vw;
  }
}
.sec_problem_inner .solution_list > li {
  flex: 0 0 calc((100% - min(1.6666666667vw,32px)) / 3);
  border: min(0.2083333333vw,4px) solid #3E4657;
  position: relative;
  background-color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li {
    flex: 0 0 100%;
    border: 1.0256410256vw solid #3E4657;
  }
}
.sec_problem_inner .solution_list > li > span {
  position: absolute;
  top: max(-2.5vw,-48px);
  left: 50%;
  transform: translateX(-50%);
  font-family: "Open Sans", sans-serif;
  font-size: min(4.5833333333vw,88px);
  font-weight: 600;
  line-height: 1;
  color: #ffffff;
  -webkit-text-stroke: min(0.1041666667vw,2px) #3E4657;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > span {
    top: -12.8205128205vw;
    font-size: 18.4615384615vw;
    -webkit-text-stroke: 0.5128205128vw #3E4657;
  }
}
.sec_problem_inner .solution_list > li h3 {
  background-color: #3E4657;
  padding: min(2.1875vw,42px) 0 0;
  text-align: center;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  min-height: min(10vw,192px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li h3 {
    padding: 5.641025641vw 0 0;
    font-size: 6.1538461538vw;
    min-height: 29.7435897436vw;
  }
}
.sec_problem_inner .solution_list > li:nth-of-type(2) h3 {
  padding: min(1.875vw,36px) 0 0;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li:nth-of-type(2) h3 {
    padding: 5.641025641vw 0;
  }
}
.sec_problem_inner .solution_list > li > div {
  padding: min(1.4583333333vw,28px) min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div {
    padding: 4.1025641026vw 6.1538461538vw 6.1538461538vw;
  }
}
.sec_problem_inner .solution_list > li > div p {
  font-size: min(1.25vw,24px);
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div p {
    font-size: 4.6153846154vw;
  }
}
.sec_problem_inner .solution_list > li > div p b {
  font-weight: 700;
}
.sec_problem_inner .solution_list > li > div p + p {
  margin-top: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div p + p {
    margin-top: 2.0512820513vw;
  }
}
.sec_problem_inner .solution_list > li > div .dashed-line {
  margin-top: min(1.6666666667vw,32px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div .dashed-line {
    margin-top: 4.1025641026vw;
  }
}
.sec_problem_inner .solution_list > li > div > ul {
  margin: min(1.25vw,24px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div > ul {
    margin: 4.1025641026vw 0 0;
  }
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div > ul {
    gap: 2.0512820513vw;
  }
}
.sec_problem_inner .solution_list > li > div > ul li {
  font-size: min(0.9375vw,18px);
  line-height: 1.5;
  padding-left: min(1.0416666667vw,20px);
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div > ul li {
    font-size: 3.8461538462vw;
    padding-left: 3.0769230769vw;
  }
}
.sec_problem_inner .solution_list > li > div > ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: min(0.4166666667vw,8px);
  width: min(0.625vw,12px);
  height: min(0.625vw,12px);
  background-color: #221815;
  border-radius: 50%;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .solution_list > li > div > ul li::before {
    top: 2.0512820513vw;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
  }
}
.sec_problem_inner .synergy {
  margin-top: min(3.125vw,60px);
  display: flex;
  gap: min(1.9708333333vw,37.84px);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy {
    margin-top: 18.2051282051vw;
    gap: 8.2461538462vw;
    flex-direction: column;
  }
}
.sec_problem_inner .synergy > div {
  width: min(18.75vw,360px);
  height: min(30.6770833333vw,589px);
  background-color: #ffffff;
  border-radius: min(1.25vw,24px);
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div {
    width: 100%;
    height: auto;
    border-radius: 6.1538461538vw;
  }
}
.sec_problem_inner .synergy > div h3 {
  height: min(4.9479166667vw,95px);
  background-color: #3E4657;
  color: #ffffff;
  font-size: min(1.25vw,24px);
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div h3 {
    height: 24.358974359vw;
    font-size: 6.1538461538vw;
  }
}
.sec_problem_inner .synergy > div > div {
  padding: min(1.9270833333vw,37px) min(2.0833333333vw,40px) 0;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div {
    padding: 9.4871794872vw 10.2564102564vw 15.641025641vw 10.2564102564vw;
  }
}
.sec_problem_inner .synergy > div > div h4 {
  font-size: min(1.25vw,24px);
  line-height: 1.5;
  color: #02AF4E;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div h4 {
    font-size: 6.1538461538vw;
  }
}
.sec_problem_inner .synergy > div > div ul {
  margin: min(1.3541666667vw,26px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: min(1.875vw,36px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div ul {
    margin: 6.6666666667vw 0 0;
    gap: 9.2307692308vw;
  }
}
.sec_problem_inner .synergy > div > div ul li {
  display: flex;
  gap: min(0.5208333333vw,10px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div ul li {
    gap: 2.5641025641vw;
  }
}
.sec_problem_inner .synergy > div > div ul li > span {
  width: min(2.3958333333vw,46px);
  height: min(2.3958333333vw,46px);
  font-family: "Open Sans", sans-serif;
  font-size: min(1.25vw,24px);
  line-height: 1;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../img/service/bg_number.svg) center/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div ul li > span {
    width: 11.7948717949vw;
    height: 11.7948717949vw;
    font-size: 6.1538461538vw;
  }
}
.sec_problem_inner .synergy > div > div ul li p {
  font-size: min(1.1458333333vw,22px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div ul li p {
    font-size: 5.641025641vw;
  }
}
.sec_problem_inner .synergy > div > div ul li p span {
  display: block;
  font-size: min(0.625vw,12px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > div > div ul li p span {
    font-size: 3.0769230769vw;
  }
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > span {
    margin: 7.1794871795vw 0;
  }
}
.sec_problem_inner .synergy > span span {
  display: block;
  height: 1px;
  width: min(4.0625vw,78px);
  background-color: #221815;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .synergy > span span {
    width: 20vw;
  }
}
.sec_problem_inner .synergy > span span:first-child {
  transform: rotate(45deg);
}
.sec_problem_inner .synergy > span span:last-child {
  transform: rotate(-45deg);
}
.sec_problem_inner .price {
  margin: min(4.53125vw,87px) auto 0;
  width: min(18.75vw,360px);
  background-color: #ffffff;
  border: min(0.2083333333vw,4px) solid #3E4657;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price {
    margin: 12.8205128205vw auto 0;
    width: 100%;
    border: 1.0256410256vw solid #3E4657;
  }
}
.sec_problem_inner .price div:nth-of-type(1) {
  background-color: #3E4657;
  height: min(6.0416666667vw,116px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: min(1.25vw,24px);
  color: #ffffff;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(1) {
    height: 29.7435897436vw;
    font-size: 6.1538461538vw;
  }
}
.sec_problem_inner .price div:nth-of-type(1) b {
  font-size: min(1.7708333333vw,34px);
  color: #F44577;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(1) b {
    font-size: 8.7179487179vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) {
  padding: min(1.3541666667vw,26px) min(1.25vw,24px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) {
    padding: 6.6666666667vw 6.1538461538vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) p {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  position: relative;
}
.sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(1) {
  font-size: min(0.625vw,12px);
  line-height: 1;
  position: absolute;
  top: max(-0.5208333333vw,-10px);
  left: min(3.3854166667vw,65px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(1) {
    font-size: 3.0769230769vw;
    top: -2.5641025641vw;
    left: 16.6666666667vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(2) {
  font-size: min(0.9375vw,18px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(2) {
    font-size: 4.6153846154vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(2) b {
  font-size: min(1.8229166667vw,35px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(2) b {
    font-size: 8.9743589744vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(3) {
  font-size: min(0.625vw,12px);
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) p span:nth-of-type(3) {
    font-size: 3.0769230769vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) .dashed-line {
  margin-top: min(1.0416666667vw,20px);
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) .dashed-line {
    margin-top: 5.1282051282vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) > ul {
  margin: min(0.4166666667vw,8px) 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) > ul {
    margin: 2.0512820513vw 0 0;
  }
}
.sec_problem_inner .price div:nth-of-type(2) > ul li {
  font-size: min(0.78125vw,15px);
  line-height: 1.5;
  padding-left: min(0.625vw,12px);
  position: relative;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) > ul li {
    font-size: 3.8461538462vw;
    padding-left: 3.0769230769vw;
  }
}
.sec_problem_inner .price div:nth-of-type(2) > ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: min(0.4166666667vw,8px);
  width: min(0.4166666667vw,8px);
  height: min(0.4166666667vw,8px);
  background-color: #221815;
  border-radius: 50%;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .price div:nth-of-type(2) > ul li::before {
    top: 2.0512820513vw;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
  }
}
.sec_problem_inner .btn_wrap {
  color: #ffffff;
  margin-top: min(4.5833333333vw,88px);
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .btn_wrap {
    margin-top: 11.2820512821vw;
  }
}
.sec_problem_inner .btn_wrap span {
  font-size: min(1.1vw,16px);
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .btn_wrap span {
    font-size: 2.5641025641vw;
  }
}
.sec_problem_inner .btn_wrap a {
  margin: min(0.4166666667vw,8px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_problem_inner .btn_wrap a {
    margin: 1.2820512821vw auto 0;
    box-shadow: none;
    font-size: 3.5897435897vw;
  }
}
.sec_problem_inner .dashed-line {
  display: block;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #3E4657 0, #3E4657 4px, transparent 4px, transparent 8px);
}

.sec_service_works {
  background-color: #F5F4ED;
  padding: min(2.7083333333vw,52px) 0 min(9.375vw,180px);
}
@media screen and (max-width: 750px) {
  .sec_service_works {
    padding: 7.6923076923vw 0 15.8974358974vw;
  }
}
.sec_service_works_inner {
  width: min(69.1666666667vw,1328px);
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner {
    width: 100%;
  }
}
.sec_service_works_inner h2 {
  width: min(20.8333333333vw,400px);
  height: min(9.7916666667vw,188px);
  margin: 0 auto;
  background: url(../img/common/bg_h2_black.svg) center/contain no-repeat;
  font-family: "Open Sans", sans-serif;
  font-size: min(2.5vw,48px);
  font-weight: 800;
  color: #ffffff;
  transform: rotate(8deg);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner h2 {
    transform: rotate(8deg);
    width: 66.0615384615vw;
    height: 31.458974359vw;
    font-size: 9.2307692308vw;
  }
}
.sec_service_works_inner h2 span {
  transform: rotate(-8deg);
}
.sec_service_works_inner iframe {
  width: 100%;
  min-height: min(38.5416666667vw,740px);
  margin-top: min(6.9791666667vw,134px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner iframe {
    height: 56.1538461538vw;
    margin-top: 17.4358974359vw;
  }
}
.sec_service_works_inner picture {
  min-height: min(38.5416666667vw,740px);
  margin-top: min(6.9791666667vw,134px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner picture {
    height: 56.1538461538vw;
    margin-top: 17.4358974359vw;
  }
}
.sec_service_works_inner picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}
.sec_service_works_inner .tag {
  margin: min(1.5036458333vw,28.87px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: min(0.5208333333vw,10px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner .tag {
    margin: 4.1025641026vw auto 0;
    gap: 2.5641025641vw;
    width: 84.6153846154vw;
  }
}
.sec_service_works_inner .tag li {
  padding: 0 min(0.8333333333vw,16px);
  display: flex;
  align-items: center;
  background-color: #EE4C60;
  font-size: min(0.9375vw,18px);
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner .tag li {
    height: 5.1282051282vw;
    padding: 0 4.1025641026vw;
    font-size: 3.3333333333vw;
  }
}
.sec_service_works_inner_header {
  margin-top: min(0.2604166667vw,5px);
  padding-bottom: min(3.3333333333vw,64px);
  color: #221815;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(0.4166666667vw,8px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_header {
    margin-top: 4.1025641026vw;
    padding-bottom: 9.4871794872vw;
    gap: 4.1025641026vw;
  }
}
.sec_service_works_inner_header h3 {
  font-size: min(2.0833333333vw,40px);
  line-height: 1.5;
  position: relative;
  transition: all 0.3s;
}
.sec_service_works_inner_header h3::after {
  content: "";
  position: absolute;
  top: min(0.2604166667vw,5px);
  right: max(-3.8541666667vw,-74px);
  width: min(2.8125vw,54px);
  height: min(2.8125vw,54px);
  background: url(../img/service/ico-link.svg) center/contain no-repeat;
  transition: all 0.3s;
  opacity: 1;
}
.sec_service_works_inner_header h3::before {
  content: "";
  position: absolute;
  top: min(0.2604166667vw,5px);
  right: max(-3.8541666667vw,-74px);
  width: min(2.8125vw,54px);
  height: min(2.8125vw,54px);
  background: url(../img/service/ico-link-on.svg) center/contain no-repeat;
  transition: all 0.3s;
  opacity: 0;
}
.sec_service_works_inner_header h3:hover::after {
  opacity: 0;
}
.sec_service_works_inner_header h3:hover::before {
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_header h3 {
    font-size: 5.1282051282vw;
  }
}
.sec_service_works_inner_header p {
  line-height: 1.8;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_header p {
    padding: 0 3.8461538462vw;
  }
}
.sec_service_works_inner_header p:nth-of-type(1) {
  font-size: min(0.7291666667vw,14px);
  font-weight: 700;
  color: #666666;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_header p:nth-of-type(1) {
    font-size: 3.5897435897vw;
  }
}
.sec_service_works_inner_header p:nth-of-type(2) {
  font-size: min(1.1vw,16px);
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_header p:nth-of-type(2) {
    font-size: 4.1025641026vw;
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .contents_wrap {
    padding: 0 3.8461538462vw;
  }
}
.sec_service_works_inner_contents .contents_wrap + .contents_wrap {
  margin-top: min(2.8125vw,54px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .contents_wrap + .contents_wrap {
    margin-top: 8.2051282051vw;
  }
}
.sec_service_works_inner_contents .contents_wrap h3 {
  background-color: #221815;
  color: #ffffff;
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1;
  height: min(2.5vw,48px);
  display: flex;
  align-items: center;
  gap: min(0.5208333333vw,10px);
  padding: 0 min(0.8333333333vw,16px);
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .contents_wrap h3 {
    font-size: 6.1538461538vw;
    height: 9.2307692308vw;
    gap: 2.5641025641vw;
    padding: 0 4.1025641026vw;
  }
}
.sec_service_works_inner_contents .contents_wrap h3::before {
  content: "";
  display: block;
  width: min(0.8333333333vw,16px);
  height: min(0.8333333333vw,16px);
  background: url(../img/works/ico-square.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .contents_wrap h3::before {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}
.sec_service_works_inner_contents .contents_wrap_inner {
  width: min(62.9166666667vw,1208px);
  margin: min(2.0833333333vw,40px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .contents_wrap_inner {
    width: 87.9487179487vw;
    margin: 8.2051282051vw auto 0 3.8461538462vw;
  }
}
.sec_service_works_inner_contents .contents_wrap_inner p {
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .contents_wrap_inner p {
    font-weight: 400;
  }
}
.sec_service_works_inner_contents .btn_square {
  margin: min(4.0625vw,78px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .btn_square {
    margin: 22.8205128205vw auto 0;
  }
}
.sec_service_works_inner_contents .btn_wrap {
  margin-top: min(6.25vw,120px);
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .btn_wrap {
    margin-top: 13.3333333333vw;
  }
}
.sec_service_works_inner_contents .btn_wrap span {
  font-size: min(1.1vw,16px);
  font-weight: 700;
  color: #221815;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .btn_wrap span {
    font-size: 2.5641025641vw;
  }
}
.sec_service_works_inner_contents .btn_wrap a {
  margin: min(0.4166666667vw,8px) auto 0;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_contents .btn_wrap a {
    margin: 1.2820512821vw auto 0;
    box-shadow: none;
  }
}
.sec_service_works_inner_detail {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail {
    width: 89.7435897436vw;
    margin: 0 auto;
  }
}
.sec_service_works_inner_detail.is-open {
  opacity: 1;
}
.sec_service_works_inner_detail .detail_contents_wrap {
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw,32px);
  margin: min(6.25vw,120px) 0;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap {
    gap: 7.1794871795vw;
    margin: 10.2564102564vw 0;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap:last-child {
  margin-bottom: 0;
}
.sec_service_works_inner_detail .detail_contents_wrap h3 {
  font-size: min(2.7083333333vw,52px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap h3 {
    font-size: 6.1538461538vw;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap p {
  font-size: min(1.1vw,16px);
  font-weight: 400;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap p {
    font-size: 4.1025641026vw;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap img {
  width: 100%;
}
.sec_service_works_inner_detail .detail_contents_wrap dl {
  display: flex;
  flex-direction: column;
  gap: min(0.8333333333vw,16px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap dl {
    gap: 4.1025641026vw;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap dl dt {
  height: min(3.3333333333vw,64px);
  border: 1px solid #221815;
  display: flex;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap dl dt {
    height: auto;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap dl dt span:nth-of-type(1) {
  width: min(4.3229166667vw,83px);
  background-color: #221815;
  color: #ffffff;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: min(2.2916666667vw,44px);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap dl dt span:nth-of-type(1) {
    width: 13.5897435897vw;
    font-size: 8.2051282051vw;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap dl dt span:nth-of-type(2) {
  padding: 0 min(1.0416666667vw,20px);
  font-size: min(1.6666666667vw,32px);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap dl dt span:nth-of-type(2) {
    padding: 2.0512820513vw 4.1025641026vw;
    font-size: 5.1282051282vw;
    flex: 1;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap dl dd {
  font-size: min(1.1vw,16px);
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap dl dd {
    font-size: 4.1025641026vw;
  }
}
.sec_service_works_inner_detail .detail_contents_wrap dl + dl {
  margin-top: min(2.0833333333vw,40px);
}
@media screen and (max-width: 750px) {
  .sec_service_works_inner_detail .detail_contents_wrap dl + dl {
    margin-top: 8.2051282051vw;
  }
}/*# sourceMappingURL=style.css.map */

span.topserbold {
    font-size: 16px;
    font-weight: 600;
    color: #4693c0;
}		

.img-wrapper-topser {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    margin-bottom: -30px !important;
}

span.topserimg {
    display: block;
    width: 19%;
}

img.footernami {
    display: block;
    position: relative;
    z-index: 9999;
    margin-top: 45px;
    margin-bottom: -2px;
}
@media screen and (max-width: 750px) {
	img.footernami {
		    display: none;
	}
}

@media screen and (max-width: 750px) {
    .scroll-bar {
        bottom: -4.871795vw;
    }
}

ol.breadcrumbs {
    font-size: 10px;
}
p.notice {
    font-size: 13px !important;
}
tr {
    font-size: 16px !important;
}

 .contact-btn {
  position: fixed;
  right: min(3.4895833333vw,67px);
  bottom: min(2.2395833333vw,43px);
  width: min(5.2083333333vw,100px);
  height: min(5.2083333333vw,100px);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(0.4166666667vw,8px);
  font-size: min(0.7291666667vw,14px);
  font-weight: 700;
  letter-spacing: max(-0.0260416667vw,-0.5px);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  z-index: 100;
}
@media screen and (max-width: 750px) {
   .contact-btn {
    right: 5.1282051282vw;
    bottom: 28.128205vw;
    width: 16.1179487179vw;
    height: 16.1179487179vw;
    gap: 1.5538461538vw;
    font-size: 2.3076923077vw;
    letter-spacing: -0.1282051282vw;
  }
}
 .contact-btn img {
  width: min(1.25vw,24px);
  height: min(1.0416666667vw,20px);
}
@media screen and (max-width: 750px) {
   .contact-btn img {
    width: 3.8692307692vw;
    height: 3.2179487179vw;
  }
}
 .contact-btn::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  transform-origin: center;
  display: block;
  width: min(5.2083333333vw,100px);
  height: min(5.2083333333vw,100px);
  border-radius: 50%;
  background-color: #221815;
}
@media screen and (max-width: 750px) {
   .contact-btn::before {
    width: 16.1179487179vw;
    height: 16.1179487179vw;
  }
}
 .contact-btn svg {
  width: min(6.9791666667vw,134px);
  height: min(6.9791666667vw,134px);
  position: absolute;
  transition: all 0.3s ease;
  animation: rotateAnimation 10s linear infinite;
  z-index: 1;
}
@media screen and (max-width: 750px) {
   .contact-btn svg {
    width: 21.2820512821vw;
    height: 21.2820512821vw;
  }
}
 .contact-btn:hover::before {
  width: min(7.2916666667vw,140px);
  height: min(7.2916666667vw,140px);
}
@media screen and (max-width: 750px) {
   .contact-btn:hover::before {
    width: 22.5641025641vw;
    height: 22.5641025641vw;
  }
}
 .contact-btn:hover svg .path-text {
  fill: #ffffff;
}
 .contact-btn:hover svg .path-circle {
  stroke: #ffffff;
}

header .main_menu .main_menu_content {
	width: min(24.75vw, 360px) !important;
    height: 640px !important;
    max-height: none;
	padding: min(5.083333vw, 62px) 0 min(-7.916667vw, 54px) min(3.875vw, 36px) !important;
}

img.menulogo {
    position: fixed;
    top: 560px;
    right: 45px;
    z-index: 9999;
    width: 100px;
    height: auto;
}

.sec_faq_content dl dd div p:last-child {
    margin-top: min(-0.35vw, 8px) !important;
}
p.notice {
    font-size: 11px !important;
}
.sec_contactform_header {
    font-size: 13px !important;
}

/* 古いブラウザも含めた万能なレスポンシブ対応 */
.sec_work_detail .contents_wrap_inner {
    /* iframeの親要素に設定 */
    position: relative;
    width: 100%;
}

.sec_work_detail .contents_wrap_inner iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 9;
}

/* もしaspect-ratioが効かない環境へのフォールバック（動画の上下に余白が出る場合） */
@supports not (aspect-ratio: 16 / 9) {
    .sec_work_detail .contents_wrap_inner {
        padding-top: 56.25%; /* 16:9の比率 (9 / 16 = 0.5625) */
        position: relative;
    }
    .sec_work_detail .contents_wrap_inner iframe {
        position: absolute;
        top: 0;
        left: 0;
    }
}

.contents_wrap_inner {
    font-size: 13px !important;
}

header .main_menu .main_menu_content > ul > li {
    margin: 6px;
    padding: 0;
}

@media screen and (max-width: 750px) {
	header .main_menu .main_menu_content {
    width: calc(100vw - 7.6923076923vw) !important;
    height: 537px !important;
    max-height: none;
    padding: min(5.083333vw, 62px) 0 min(-7.916667vw, 54px) min(3.875vw, 36px) !important;
}
}

@media screen and (max-width: 750px) {
    .sec_faq_content dl dt span {
        font-size: 2.6vw !important;
        padding: 0.5128205128vw 4.1025641026vw;
        margin: 2.0512820513vw 0 0 5.641025641vw;
    }
}

@media screen and (max-width: 750px) {
    .sec_about_principle_content .wrap .wrap_content ul li {
        padding: 2.0512820513vw 3.0769230769vw;
        border-radius: 1.0256410256vw;
        font-size: 12px;
    }
}


.sec_faq_content dl dt span {
    font-size: min(0.8vw, 10px);
    width: 83px;
    text-align: center;
    padding: 3px;
}

@media screen and (max-width: 750px) {
    .mainvisual .read span {
        font-size: 9vw;
        line-height: 14vw;
        height: 15.461538vw;
        padding: 0 4.1025641026vw;
    }
}

@media screen and (max-width: 750px) {
span.topserimg {
    display: block;
    width: 37%;
    margin-top: -26px !important;
}
}

@media screen and (max-width: 750px) {
    .mainvisual .contact-btn {
        bottom: 30.128205vw !important;
    }
}

@media screen and (max-width: 750px) {
    #pagetop {
        bottom: 18vw;
    }
}

@media screen and (max-width: 750px) {
    .sec_works_list .paging {
        margin-top: 10.2564102564vw;
        padding-top: 0;
        margin-bottom: -100px;
    }
}
section.sec_company_contact p {
    font-size: 16px !important;
}

@media screen and (max-width: 750px) {
    .sec_about_slogan_content .wrap:nth-of-type(1)::before {
        top: 7.615385vw;
    }
}

.contents_wrap_inner {
    font-size: 16px !important;
}