@charset "UTF-8";

@font-face {
  font-family: 'notosansjp';
  font-weight: 100;
  src: url("/asset/fonts/notosansjp/NotoSansJP-Thin.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 200;
  src: url("/asset/fonts/notosansjp/NotoSansJP-ExtraLight.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 300;
  src: url("/asset/fonts/notosansjp/NotoSansJP-Light.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 400;
  src: url("/asset/fonts/notosansjp/NotoSansJP-Regular.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 500;
  src: url("/asset/fonts/notosansjp/NotoSansJP-Medium.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 600;
  src: url("/asset/fonts/notosansjp/NotoSansJP-SemiBold.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 700;
  src: url("/asset/fonts/notosansjp/NotoSansJP-Bold.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 800;
  src: url("/asset/fonts/notosansjp/NotoSansJP-ExtraBold.ttf") format('truetype');
}
@font-face {
  font-family: 'notosansjp';
  font-weight: 900;
  src: url("/asset/fonts/notosansjp/NotoSansJP-Black.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 100;
  src: url("/asset/fonts/lexend/Lexend-Thin.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 200;
  src: url("/asset/fonts/lexend/Lexend-ExtraLight.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 300;
  src: url("/asset/fonts/lexend/Lexend-Light.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 400;
  src: url("/asset/fonts/lexend/Lexend-Regular.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 500;
  src: url("/asset/fonts/lexend/Lexend-Medium.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 600;
  src: url("/asset/fonts/lexend/Lexend-SemiBold.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 700;
  src: url("/asset/fonts/lexend/Lexend-Bold.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 800;
  src: url("/asset/fonts/lexend/Lexend-ExtraBold.ttf") format('truetype');
}
@font-face {
  font-family: 'lexend';
  font-weight: 900;
  src: url("/asset/fonts/lexend/Lexend-Black.ttf") format('truetype');
}
@font-face {
  font-family: '42dotsans';
  font-weight: 300;
  src: url("/asset/fonts/42dotsans/42dotSans-Light.ttf") format('truetype');
}
@font-face {
  font-family: '42dotsans';
  font-weight: 400;
  src: url("/asset/fonts/42dotsans/42dotSans-Regular.ttf") format('truetype');
}
@font-face {
  font-family: '42dotsans';
  font-weight: 500;
  src: url("/asset/fonts/42dotsans/42dotSans-Medium.ttf") format('truetype');
}
@font-face {
  font-family: '42dotsans';
  font-weight: 700;
  src: url("/asset/fonts/42dotsans/42dotSans-Bold.ttf") format('truetype');
}
@font-face {
  font-family: '42dotsans';
  font-weight: 800;
  src: url("/asset/fonts/42dotsans/42dotSans-ExtraBold.ttf") format('truetype');
}

html {
  font-family: "notosansjp";
}
body {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: #272A2D;
  background-color: #FFFEF9;
}
main {
  padding-top: 171px;
}
.inner {
  max-width: 1300px;
  width: 100%;
  padding: 0 clamp(20px,calc(20px + calc(50 - 20) * (100vw - 668px) / 632),50px);
  margin: auto;
}
@media (min-width: 668px) {
  .only_sp {
    display: none!important;
  }
}
@media (max-width: 1200px) {
  main {
    padding-top: 112px;
  }
}

@media (max-width: 667px) {
  main {
    padding-top: 72px;
  }
  .only_pc {
    display: none!important;
  }
  .only_sp {
    display: block;
  }
}


/* --------------------
  header
-------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
.header_top {
  background-color: #FFFEF9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 112px;
}
.header_top_content {
  display: flex;
  justify-content: space-between;
}
.header_logo_us {
  width: 158px;
  transition: opacity .3s;
}
.header_logo_us:hover {
  opacity: .6;
}
.header_nav {
  position: relative;
}
.header_nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgb(255 254 249 / 50%);
  width: 100%;
  height: 100%;
  backdrop-filter: blur(5px);
  z-index: -1;
}
.header_nav_list {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  font-weight: 500;
  align-items: center;
  text-align: center;
  height: 59px;
  position: relative;
}
.header_nav_list li {
  height: 100%;
  display: flex;
  align-items: center;
}
.header_nav_list span {
  font-size: 14px;
}
.header_nav_list a {
  transition: color .3s;
  display: flex;
  height: 100%;
  align-items: center;
  position: relative;
  flex-flow: column;
  justify-content: center;
}
.header_nav_list li:hover a {
  color: #0081CC;
}
.header_nav_list li:hover .children_directory a {
  color: #272A2D;
}
.header_nav_list li:hover .children_directory a:hover {
  color: #0081CC;
}
.header_right {
  display: flex;
  align-items: center;
  column-gap: clamp(30px,calc(30px + calc(50 - 30) * (100vw - 668px) / 432),50px);
}
.header_logo_duskin {
  width: 130px;
  transition: opacity .3s;
}
.header_logo_duskin:hover {
  opacity: .6;
}
.header_contact {
  color: #fff;
  font-size: clamp(16px,calc(16px + calc(18 - 16) * (100vw - 668px) / 432),18px);
  font-weight: 600;
  background-color: #00C0E8;
  padding: clamp(10px,calc(10px + calc(13 - 10) * (100vw - 668px) / 432),13px) clamp(20px,calc(20px + calc(50 - 20) * (100vw - 668px) / 432),50px);
  border-radius: 100px;
  transition: .3s;
}
.header_contact:hover {
  background-color: #3BCFEE;
}
.children_directory {
  width: 386px;
  position: absolute;
  bottom: 0;
  padding-top: 10px;
  transform: translateY(100%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  
}
.children_directory dl {
  padding: 40px;
  background-color: #FFFEF9;
  border: 1px solid #B2D5F0;
  border-radius: 30px;
}
.parent_directory:hover .children_directory {
  opacity: 1;
  pointer-events: auto;
}
.children_directory dt {
  display: flex;
  column-gap: 12px;
  align-items: center;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}
.children_directory dt::before {
  content: "";
  width: 20px;
  height: 22px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.uniform .children_directory dt::before {
  background-image: url("/asset/images/common/menu_icon03.svg")
}
.cleaning .children_directory dt::before {
  background-image: url("/asset/images/common/menu_icon04.svg")
}
.original .children_directory dt::before {
  background-image: url("/asset/images/common/menu_icon05.svg")
}
.children_directory ul {
  height: auto;
  flex-flow: column;
  flex-wrap: wrap;
  align-items: flex-start;
  row-gap: 16px;
  font-size: 14px;
  display: flex;
  font-weight: 500;
}
.children_directory li {
  display: flex;
  column-gap: 8px;
  align-items: center;
  white-space: nowrap;
}
.uniform .children_directory dd {
  display: flex;
  column-gap: 10px;
}
.uniform .children_directory ul {
  flex-flow: row;
  flex-wrap: wrap;
}
.uniform .header_sub_category {
  width: calc(50% - 5px);
}
.uniform .header_sub_category .category_title {
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 12px;
}
.uniform .children_directory li {
  width: 100%;
}
.children_directory li::before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #00C0E8;
  display: inline-block;
  flex-shrink: 0;
}
.sp_menu_btn,
.contact_btn_sp,
.sp_menu_copyright,
.sp_menu_bottom,
.sp_menu_bg {
  display: none;
}
@media (max-width: 1200px) {
  .header_top {
    position: relative;
    z-index: 20;
    transition: background-color .3s;
  }
  .sp_menu_active .header_top {
    background-color: transparent;
  }
  .header_nav {
    position: fixed;
    padding: 162px clamp(20px,calc(20px + calc(80 - 20) * (100vw - 668px) / 532),80px) 40px clamp(20px,calc(20px + calc(100 - 20) * (100vw - 668px) / 532),100px);
    width: 100%;
    max-width: 800px;
    overflow-y: scroll;
    right: 0;
    background-color: #FFFEF9;
    z-index: 10;
    top: 0;
    height: 100dvh;
    border-radius: clamp(0px,calc(0px + calc(126 - 0) * (100vw - 800px) / 400),126px) 0 0 clamp(0px,calc(0px + calc(126 - 0) * (100vw - 800px) / 400),126px);
    transform: translateX(100%);
    transition: transform .3s;
    display: block!important;
  }
  .header_nav::before {
    display: none;
  }
  .header_nav .inner {
    padding: 0;
  }
  header.sp_menu_active .header_contact {
    display: none;
  }
  header.sp_menu_active .header_nav {
    transform: translateX(0);
  }
  .header_nav_list
  .header_nav_list span {
    font-size: 16px;
  }
  .header_nav_list {
    font-size: 20px;
    font-weight: 600;
    height: auto;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    grid-template-columns: 50% 40%;
    gap: 0 20px;
  }
  .header_nav_list > li {
    display: block;
    height: auto;
    margin-bottom: 64px;
    text-align: left;
  }
  .header_nav_list > li > a {
    position: relative;
    display: block;
    padding-left: 32px;
  }
  .header_nav_list > li:hover a {
    color: #272A2D;
  }
  .header_nav_list > li > a:hover {
    color: #0081CC;
  }
  .header_nav_list > li > a::before {
    content: "";
    width: 24px;
    height: 26px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .header_nav_list > li.service > a::before {
    background-image: url("/asset/images/common/menu_icon01.svg")
  }
  .header_nav_list > li.campaign > a::before {
    background-image: url("/asset/images/common/menu_icon02.svg")
  }
  .header_nav_list > li.uniform > a::before {
    background-image: url("/asset/images/common/menu_icon03.svg")
  }
  .header_nav_list > li.cleaning > a::before {
    background-image: url("/asset/images/common/menu_icon04.svg")
  }
  .header_nav_list > li.original > a::before {
    background-image: url("/asset/images/common/menu_icon05.svg")
  }
  .header_nav_list > li.uniformnavi > a::before {
    background-image: url("/asset/images/common/menu_icon06.svg")
  }
  .header_nav_list > li.shop > a::before {
    background-image: url("/asset/images/common/menu_icon07.svg")
  }
  .header_nav_list > li.faq > a::before {
    background-image: url("/asset/images/common/menu_icon08.svg")
  }

  .header_nav_list li.original {
    grid-column: 1;
    grid-row: 3 / 6;
  }
  .header_nav_list li.uniformnavi {
    grid-column: 2;
    grid-row: 3;
    margin-bottom: 24px;
  }
  .header_nav_list li.shop {
    grid-column: 2;
    grid-row: 4;
    margin-bottom: 24px;
  }
  .header_nav_list > li.faq {
    grid-column: 2;
    grid-row: 5;
  }
  .header_nav_list > li a {
    height: auto;
  }
  .children_directory {
    width: auto;
    position: relative;
    bottom: 0;
    padding-top: 0;
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    margin-top: 24px;
  }
  .children_directory dl {
    padding: 0;
    background-color: transparent;
    border: none;
  }
  .children_directory dt {
    display: none;
  }
  .children_directory ul {
    row-gap: 24px;
    font-size: 14px;
  }
  .uniform .children_directory dd {
    flex-flow: column;
    grid-row-gap: 24px;
  }
  .uniform .children_directory ul {
    flex-flow: row;
    flex-wrap: wrap;
  }
  .uniform .header_sub_category {
    width: 100%;
  }
  .uniform .children_directory li {
    width: 50%;
  }
  .sp_menu_btn {
    display: block;
    position: relative;
    background-color: #DEBD76;
    width: clamp(50px,calc(50px + calc(80 - 50) * (100vw - 668px) / 432),80px);
    height: clamp(50px,calc(50px + calc(80 - 50) * (100vw - 668px) / 432),80px);
    cursor: pointer;
    border-radius: clamp(18px,calc(18px + calc(32 - 18) * (100vw - 668px) / 432),32px);
  }
  .sp_menu_btn span {
    position: absolute;
    left: 50%;
    width: clamp(25px,calc(25px + calc(34 - 25) * (100vw - 668px) / 432),34px);
    height: 3px;
    background-color: #fff;
    border-radius: 10px;
    transform: translateX(-50%);
    transition: .3s;
  }
  .sp_menu_btn span:nth-of-type(1) {
    top: clamp(15px,calc(15px + calc(28 - 15) * (100vw - 668px) / 432),28px);
  }
  .sp_menu_btn span:nth-of-type(2) {
    top: 50%;
    transform: translate(-50%,-50%);
  }
  .sp_menu_btn span:nth-of-type(3) {
    bottom: clamp(15px,calc(15px + calc(28 - 15) * (100vw - 668px) / 432),28px);
  }
  .sp_menu_btn.active span:nth-of-type(1) {
    transform: translateX(-50%) rotate(-40deg);
    top: calc(50% - 1.5px)
  }
  .sp_menu_btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .sp_menu_btn.active span:nth-of-type(3) {
    transform: translateX(-50%) rotate(40deg);
    bottom: calc(50% - 1.5px)
  }
  .sp_menu_bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 95px;
    column-gap: 10%;
  }
  .sp_menu_bottom ul {
    font-size: 14px;
    font-weight: 400;
    width: 50%;
  }
  .sp_menu_bottom li:not(:last-child) {
    margin-bottom: 16px;
  }
  .sp_menu_bottom li a {
    transition: color .3s;
  }
  .sp_menu_bottom li a:hover {
    color: #0081CC;
  }
  .contact_btn_sp.bottom {
    display: block;
  }
  .contact_btn_sp {
    background-color: #00C0E8;
    color: #fff;
    transition: .3s;
    text-align: center;
    border-radius: 100px;
    padding: 18px;
    font-size: 18px;
    font-weight: 700;
    width: 40%;
    position: relative;
  }
  .contact_btn_sp:hover {
    background-color: #3BCFEE;
  }
  .contact_btn_sp::after {
    content: '';
    width: 9px;
    height: 9px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    right: 30px;
    top: 50%;
  }
  .sp_menu_copyright {
    display: block;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
  }
  .sp_menu_bg {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgb(255 254 249 / 50%);
    width: 100%;
    height: 100%;
    backdrop-filter: blur(5px);
    z-index: 1;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
  }
  .sp_menu_active .sp_menu_bg {
    opacity: 1;
    visibility: visible;
  }
}

@media (max-width: 667px) {
  .header_top {
    height: 72px;
  }
  .sp_menu_active .header_top {
    background-color: #FFFEF9;
  }
  .header_logo_us {
    width: 105px;
  }
  .header_right {
    column-gap: 16px;
  }
  .header_logo_duskin {
    width: 82px;
  }
  .header_contact {
    display: none;
  }
  .header_nav {
    padding: 112px 40px 130px;
  }
  .header_nav_list {
    font-size: 18px;
    display: block;
  }
  .header_nav_list > li {
    margin-bottom: 40px;
  }
  .header_nav_list > li > a::before {
    width: 20px;
    height: 22px;
  }
  .header_nav_list li.uniformnavi {
    margin-bottom: 40px;
  }
  .header_nav_list > li:last-child {
    margin-bottom: 64px;
  }
  .children_directory ul {
    row-gap: 16px;
  }
  .sp_menu_btn {
    width: 43px;
    height: 43px;
    border-radius: 17px;
  }
  .sp_menu_btn span {
    width: 17px;
    height: 2px;
  }
  .sp_menu_btn span:nth-of-type(1) {
    top: 14px;
  }
  .sp_menu_btn span:nth-of-type(2) {
    top: 50%;
    transform: translate(-50%,-50%);
  }
  .sp_menu_btn span:nth-of-type(3) {
    bottom: 14px;
  }
  .sp_menu_btn.active span:nth-of-type(1) {
    top: calc(50% - 1px)
  }
  .sp_menu_btn.active span:nth-of-type(3) {
    bottom: calc(50% - 1px)
  }
  .sp_menu_bottom {
    margin-bottom: 64px;
  }
  .sp_menu_bottom ul {
    width: 100%;
  }
  .contact_btn_sp.bottom {
    display: none;
  }
  .contact_btn_sp.top {
    display: block;
    width: calc(100% - 20px);
    margin: 0 auto 64px;
  }
  .contact_btn_sp::after {
    content: '';
    width: 9px;
    height: 9px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    right: 30px;
    top: 50%;
  }
  .sp_menu_btn.active span:nth-of-type(1) {
    top: calc(50% - 1px)
  }
  .sp_menu_btn.active span:nth-of-type(3) {
    bottom: calc(50% - 1px)
  }
  .sp_menu_active .sp_menu_bg {
    display: none;
  }
}
@media (max-width: 374px) {
  .children_directory li {
    white-space: normal;
  }
}


/* --------------------
  .pankuzu
-------------------- */
.pankuzu ul {
  display: flex;
  column-gap: 8px;
  font-size: 14px;
  white-space: nowrap;
  min-width: 0;
}
.pankuzu li {
  display: flex;
  align-items: center;
  position: relative;
  column-gap: 8px;
  white-space: nowrap;
  flex-shrink: 0;
}
.pankuzu li:last-child span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.pankuzu li:last-child {
  flex-shrink: 1;
  min-width: 0;
}
.pankuzu li:not(:last-child)::after {
  content: "";
  background-color: #000;
  width: 5px;
  height: 13px;
  clip-path: polygon(1px 0, 100% 50%, 1px 100%, 0 100%, calc(100% - 1px) 50%, 0 0);
}
.pankuzu li a {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: opacity .3s;
}
.pankuzu li a:hover {
  opacity: .6;
}

@media (max-width: 667px) {
  .pankuzu ul {
    column-gap: 7px;
    font-size: 11px;
  }
  .pankuzu li {
    column-gap: 7px;
  }
  .pankuzu li:not(:last-child)::after {
    width: 3px;
    height: 9px;
  }
}


/* --------------------
  .service_top_mv_block
-------------------- */
.service_top_mv_block {
  background-color: #00C0E8;
  position: relative;
  margin-bottom: 178px;
}
.service_top_mv_title_block {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.service_top_mv_title_content {
  padding-top: 15px;
}
.service_top_mv_title_content .pankuzu {
  margin-bottom: clamp(30px,calc(30px + calc(85 - 30) * (100vw - 668px) / 932),85px);
}
.service_top_mv_title_block h1 {
  font-size: clamp(20px,calc(20px + calc(36 - 20) * (100vw - 668px) / 932),36px);
  line-height: 1.4;
  color: #fff;
  font-weight: 600;
}
.service_top_mv_img {
  background-size: cover;
  width: clamp(334px,calc(334px + calc(1023 - 334) * (100vw - 668px) / 932),1023px);
  height: clamp(250px,calc(250px + calc(475 - 250) * (100vw - 668px) / 932),475px);
  background-repeat: no-repeat;
  background-position: center;
  border-radius: clamp(45px, calc(45px + calc(126 - 45) * (100vw - 668px) / 932), 126px) 0 0 clamp(45px, calc(45px + calc(126 - 45) * (100vw - 668px) / 932), 126px);
  margin-right: calc(50% - 50vw);
  flex-shrink: 0;
}
.service_top_mv_block .service_top_mv_title_en {
  font-family: 'lexend';
  font-size: clamp(100px,calc(100px + calc(217 - 100) * (100vw - 668px) / 932),217px);
  font-weight: 600;
  line-height: 1.4;
  position: absolute;
  bottom: clamp(-47px,calc(-15px + calc(-47 - (-15)) * (100vw - 668px) / 932),-15px);
  left: clamp(-14px,calc(-7px + calc(-14 - (-7)) * (100vw - 668px) / 932),-7px);
  color: #fff;
}
@media (max-width: 667px) {
  .service_top_mv_block {
    margin-bottom: 98px;
  }
  .service_top_mv_title_block {
    display: block;
    padding: 10px 0 37px;
  }
  .service_top_mv_title_content {
    padding-top: 0;
  }
  .service_top_mv_title_content .pankuzu {
    margin-bottom: 60px;
  }
  .service_top_mv_title_block h1 {
    font-size: clamp(20px,calc(20px + calc(36 - 20) * (100vw - 668px) / 932),36px);
    line-height: 1.4;
    color: #fff;
    font-weight: 600;
    text-align: right;
  }
  .service_top_mv_img {
    width: calc(100% + 20px);
    height: 378px;
    border-radius: 90px 0 0 90px;
    margin: 0 -20px 30px 0;
  }
  .service_top_mv_block .service_top_mv_title_en {
    font-size: 63px;
    line-height: 1;
    bottom: auto;
    top: 42px;
    left: 0;
  }
}
@media (max-width: 374px) {
  .service_top_mv_block .service_top_mv_title_en {
    font-size: 55px;
  }
}

/* --------------------
  .service_mv_block
-------------------- */
.service_mv_wrapper {
  padding-bottom: 218px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.service_mv_content {
  padding: clamp(35px,calc(35px + calc(75 - 35) * (100vw - 668px) / 932),75px) clamp(30px,calc(30px + calc(50 - 30) * (100vw - 668px) / 932),50px) 0 0;
  max-width: 633px;
}
.service_mv_block .service_mv_img {
  width: clamp(250px,calc(250px + calc(920 - 250) * (100vw - 668px) / 932),920px);
  margin-right: calc(50% - 50vw);
  position: relative;
  flex-shrink: 0;
}
.service_mv_block .service_mv_img img {
  border-radius: clamp(45px,calc(45px + calc(126 - 45) * (100vw - 668px) / 932),126px) 0 0 clamp(45px,calc(45px + calc(126 - 45) * (100vw - 668px) / 932),126px);
  width: 100%;
}
.service_category {
  background-color: #00C0E8;
  color: #fff;
  font-size: clamp(16px,calc(16px + calc(20 - 16) * (100vw - 668px) / 932),20px);
  font-weight: 500;
  line-height: 2;
  border-radius: 100px;
  margin-bottom: 24px;
  max-width: 352px;
  width: 80%;
  padding: 2px 21px;
}
.service_mv_block h1 {
  font-size: clamp(35px,calc(35px + calc(48 - 35) * (100vw - 668px) / 932),48px);
  font-weight: 700;
  margin-bottom: 24px;
  display: flex;
  flex-flow: column;
  row-gap: 8px;
}
.service_mv_block h1 span {
  color: #00C0E8;
  font-size: 24px;
  font-weight: 500;
  font-family: 'lexend';
}
.service_mv_text {
  font-weight: 500;
  line-height: 2;
  font-size: clamp(16px,calc(16px + calc(20 - 16) * (100vw - 668px) / 932),20px);
}
@media (max-width: 667px) {
  .service_mv_block {
    margin-top: 20px;
  }
  .service_mv_wrapper {
    padding-bottom: 100px;
    flex-flow: column-reverse;
  }
  .service_mv_content {
    padding: 20px 0 0;
    max-width: none;
  }
  .service_mv_block .service_mv_img {
    width: 100%;
    margin-left: auto;
  }
  .service_category {
    font-size: 14px;
    border-radius: 0 100px 100px 0;
    margin-bottom: 20px;
    width: auto;
    display: inline-block;
    padding-left: 0;
    position: relative;
  }
  .service_category::before {
    content: "";
    height: 100%;
    width: 20px;
    position: absolute;
    top: 0;
    left: -20px;
    background-color: #00C0E8;
  }
  .service_mv_block h1 {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .service_mv_block h1 span {
    font-size: 14px;
  }
  .service_mv_text {
    font-weight: 400;
  }
}


/* --------------------
  .qa_block
-------------------- */
.qa_block {
  background-color: #E3F7FB;
  padding: 30px 0 120px;
}
.qa_block .inner {
  position: relative;
}
.qa_block .inner::before {
  content: "";
  width: clamp(150px,calc(150px + calc(232 - 150) * (100vw - 668px) / 632),232px);
  height: clamp(105px,calc(105px + calc(162 - 105) * (100vw - 668px) / 632),162px);
  background-image: url("/asset/images/common/decoration_qa.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -68px;
  right: clamp(20px,calc(20px + calc(50 - 20) * (100vw - 668px) / 632),50px);
}
.qa_block h2 {
  font-size: 32px;
  color: #00C0E8;
  font-weight: 600;
  text-align: center;
  margin-bottom: 80px;
}
.qa_block h2 span {
  font-size: 80px;
  color: #272A2D;
  font-weight: 500;
  line-height: 1.6;
  display: block;
  font-family: 'lexend';
}
.qa_block .qa_category {
  font-size: 32px;
  color: #0081CC;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 32px;
}
.qa_list {
  display: flex;
  align-items: flex-start;
  column-gap: 20px;
}
.qa_list::before {
  content: "Q";
  font-family: '42dotsans';
  line-height: .5;
  color: #fff;
  font-size: 40px;
  padding: 20px 16px;
  background-color: #00C0E8;
  border-radius: 20px;
  flex-shrink: 0;
  margin-top: 24px;
}
.qa_list + .qa_list {
  margin-top: 32px;
}
.qa_list dl {
  background-color: #fff;
  border-radius: 35px;
  width: 100%;
}
.qa_list dt {
  padding: 36px clamp(80px,calc(80px + calc(128 - 80) * (100vw - 668px) / 632),128px) 36px 36px;
  font-weight: 700;
  font-size: 24px;
  position: relative;
  cursor: pointer;
}
.qa_list dt::before,
.qa_list dt::after {
  content: "";
  background-color: #00C0E8;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 100px;
}
.qa_list dt::before {
  height: 4px;
  width: 20px;
  right: 36px;
}
.qa_list dt::after {
  width: 4px;
  height: 20px;
  right: 44px;
}
.qa_list dt.active::after {
  display: none;
}
.qa_list dd {
  padding: 24px 0 36px;
  font-weight: 600;
  font-size: 18px;
  border-top: 1px solid #00C0E8;
  position: relative;
  padding-left: 45px;
  line-height: 1.8;
  display: none;
  margin: 0 clamp(80px,calc(80px + calc(128 - 80) * (100vw - 668px) / 632),128px) 0 36px
}
.qa_list dd::before {
  content: "A";
  font-family: '42dotsans';
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  color: #00C0E8;
  position: absolute;
  left: 0;
}
.qa_block .btn_blue {
  margin: 64px auto 0;
}
@media (max-width: 667px) {
  .qa_block {
    padding: 41px 0 83px;
    margin-top: 119px;
    border-radius: 60px;
  }
  .qa_block .inner::before {
    width: 109px;
    height: 76px;
    top: -91px;
    right: 29px;
  }
  .qa_block h2 {
    font-size: 20px;
    margin-bottom: 32px;
  }
  .qa_block h2 span {
    font-size: 40px;
    line-height: 1;
    margin-bottom: 9px;
  }
  .qa_block .qa_category {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 34px;
    text-align: center;
  }
  .qa_list {
    position: relative;
  }
  .qa_list::before {
    font-size: 22px;
    padding: 11px 9px;
    border-radius: 11px;
    margin-top: 0;
    position: absolute;
    top: -10px;
    left: 19px;
  }
  .qa_list dt {
    padding: 40px 80px 40px 24px;
    font-weight: 600;
    font-size: 16px;
  }
  .qa_list dt::before,
  .qa_list dt::after {
    content: "";
    background-color: #00C0E8;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100px;
  }
  .qa_list dt::before {
    height: 2px;
    width: 12px;
    right: 30px;
  }
  .qa_list dt::after {
    width: 2px;
    height: 12px;
    right: 35px;
  }
  .qa_list dd {
    padding: 30px 0 40px;
    font-size: 16px;
    padding-left: 0;
    margin: 0 24px;
  }
  .qa_list dd::before {
    font-size: 22px;
    position: relative;
    display: block;
    margin-bottom: 4px;
  }
  .qa_block .btn_blue {
    margin: 40px auto 0;
  }
}


/* --------------------
  .contact_block
-------------------- */
.contact_content {
  background-image: url("/asset/images/common/contact_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: clamp(80px,calc(80px + calc(126 - 80) * (100vw - 668px) / 632),126px) 0 0 clamp(80px,calc(80px + calc(126 - 80) * (100vw - 668px) / 632),126px);
  padding: clamp(50px,calc(50px + calc(90 - 50) * (100vw - 668px) / 632),90px) 0 clamp(70px,calc(70px + calc(168 - 70) * (100vw - 668px) / 632),168px) clamp(50px,calc(50px + calc(124 - 50) * (100vw - 668px) / 632),124px);
  color: #fff;
  margin: 120px calc(50% - 50vw) 180px clamp(0px,calc(50px + calc(0 - 50) * (100vw - 1300px) / (1400 - 1300)),50px);
}
.contact_wrapper {
  position: relative;
}
.contact_title_left {
  font-size: 20px;
  line-height: 2;
  letter-spacing: .07em;
  writing-mode: tb;
  display: flex;
  align-items: center;
  column-gap: 10px;
  position: absolute;
  top: 0;
  left: clamp(-155px,calc(0px + calc(-155 - 0) * (100vw - 1300px) / 220),0px);
}
.contact_title_left::before {
  content: "";
  width:11px;
  height: 11px;
  background-color: #00C0E8;
  border-radius: 50%;
}
.contact_content h2 {
  font-size: clamp(60px,calc(60px + calc(80 - 60) * (100vw - 668px) / 632),80px);
  font-weight: 500;
  font-family: 'lexend';
  color: #00C0E8;
  margin-bottom: 27px;
  line-height: 1.2;
}
.contact_content p {
  font-size: clamp(18px,calc(18px + calc(20 - 18) * (100vw - 668px) / 632),20px);
  margin-bottom: clamp(60px,calc(60px + calc(107 - 60) * (100vw - 668px) / 632),107px);
  font-weight: 600;
}
.contact_link_list a {
  height: clamp(100px,calc(100px + calc(131 - 100) * (100vw - 668px) / 632),131px);
  width: clamp(400px,calc(400px + calc(588 - 400) * (100vw - 668px) / 632),588px);
  border-radius: clamp(30px,calc(30px + calc(54 - 30) * (100vw - 668px) / 632),54px);
  border: 2px solid #fff;
  display: inline-flex;
  align-items: flex-start;
  padding: 0 52px 0 100px;
  position: relative;
  flex-flow: column;
  justify-content: center;
  transition: .3s;
}
.contact_link_list a:hover {
  background-color: #00C0E8;
  border-color: #00C0E8;
}
.contact_link_list a::before {
  content: "";
  width: 31px;
  height: 28px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center right;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 52px;
  transition: .3s;
}
.contact_link_list a::after {
  content: '';
  width: clamp(20px,calc(20px + calc(30 - 20) * (100vw - 668px) / 632),30px);
  height: clamp(20px,calc(20px + calc(30 - 20) * (100vw - 668px) / 632),30px);
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  right: clamp(30px,calc(30px + calc(66 - 30) * (100vw - 668px) / 632),66px);
  top: 50%;
  transition: right .3s;
}
.contact_link_list a:hover::after {
  right: clamp(10px,calc(10px + calc(46 - 10) * (100vw - 668px) / 632),46px);
}
.contact_link_list .contact_mail {
  font-size: clamp(20px,calc(20px + calc(25 - 20) * (100vw - 668px) / 632),25px);
  font-weight: 500;
}
.contact_link_list .contact_tel {
  font-size: 18px;
}
.contact_link_list .contact_tel .tel_number {
  font-size: clamp(24px,calc(24px + calc(30 - 24) * (100vw - 668px) / 632),30px);
  font-weight: 500;
}
.contact_link_list li:not(:last-child) {
  margin-bottom: clamp(40px,calc(40px + calc(75 - 40) * (100vw - 668px) / 632),75px);
}
.contact_link_list .contact_mail a::before {
  background-image: url("/asset/images/common/icon_mail_blue.svg");
}
.contact_link_list .contact_tel a::before {
  background-image: url("/asset/images/common/icon_tel_blue.svg");
}
.contact_link_list .contact_mail a:hover::before {
  background-image: url("/asset/images/common/icon_mail_white.svg");
}
.contact_link_list .contact_tel a:hover::before {
  background-image: url("/asset/images/common/icon_tel_white.svg");
}

@media (max-width: 667px) {
  .contact_content {
    border-radius: 60px;
    padding: 54px 20px 58%;
    margin: 20px calc(50% - 50vw) 64px;
    background-position: right 33% bottom -80px;
    background-size: 290%;
  }
  .contact_wrapper {
    margin-top: 45px;
  }
  .contact_title_left {
    font-size: 12px;
    column-gap: 5px;
    position: relative;
  }
  .contact_title_left::before {
    width:7px;
    height: 7px;
  }
  .contact_content h2 {
    font-size: 40px;
    color: #00C0E8;
    margin-bottom: 9px;
    line-height: 1;
    text-align: center;
  }
  .contact_content p {
    font-size: 16px;
    margin-bottom: 65px;
    text-align: center;
  }
  .contact_link_list a {
    height: 90px;
    width: 100%;
    border-radius: 37px;
    padding: 0 67px;
  }
  .contact_link_list a::before {
    width: 21px;
    height: 21px;
    left: 36px;
  }
  .contact_link_list a::after {
    content: '';
    width: 15px;
    height: 15px;
    right: 36px;
  }
  .contact_link_list .contact_mail {
    font-size: 18px;
  }
  .contact_link_list .contact_tel {
    font-size: 14px;
  }
  .contact_link_list .contact_tel .tel_number {
    font-size: 22px;
  }
  .contact_link_list li:not(:last-child) {
    margin-bottom: 24px;
  }
}


/* --------------------
  footer
-------------------- */
footer a {
  transition: opacity .3s;
}
footer a:hover {
  opacity: .6;
}
.footer_nav_block {
  padding-bottom: 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer_nav {
  display: flex;
  column-gap: clamp(30px,calc(30px + calc(50 - 30) * (100vw - 1100px) / 200),50px);
}
.footer_nav_list .parent_directory {
  font-size: clamp(18px,calc(18px + calc(20 - 18) * (100vw - 1100px) / 200),20px);
  font-weight: 700;
}
.footer_nav_list > li:not(:last-child) {
  margin-bottom: 32px;
}
.footer_nav_list .children_directory_list {
  margin-top: 24px;
  font-weight: 500;
  font-size: 14px;
}
.footer_nav_list .children_directory_list li {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.footer_nav_list .children_directory_list li::before {
  content: "";
  background-color: #00C0E8;
  height: 2px;
  width: 10px;
}
.footer_nav_list .children_directory_list li:not(:last-child) {
  margin-bottom: 16px;
}
.footer_sub_category dt {
  font-size: 14px;
  margin-bottom: 16px;
  font-weight: 700;
}
.footer_sub_category {
  margin-top: 24px;
  width: 350px;
}
.footer_sub_category dl + dl {
  margin-top: 20px;
}
.footer_sub_category dd ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: 16px;
}
.footer_sub_category dd li {
  width: 50%;
}
.footer_nav_list .footer_sub_category dd li:not(:last-child) {
  margin-bottom: 0;
}
.footer_logo_block {
  display: flex;
  flex-flow: column;
}
.footer_logo_us img {
  width: clamp(200px,calc(200px + calc(282 - 200) * (100vw - 1100px) / 200),282px);
  margin-bottom: 38px;
}
.footer_logo_us p {
  font-weight: 600;
  line-height: 1.8;
  font-size: clamp(16px,calc(16px + calc(28 - 16) * (100vw - 1100px) / 200),28px);
}
.footer_logo_duskin {
  margin-top: auto;
  margin-left: auto;
}
.footer_logo_duskin img {
  width: clamp(120px,calc(120px + calc(182 - 120) * (100vw - 1100px) / 200),182px);
}
.footer_bottom_block {
  background-color: #00C0E8;
  padding: 20px 0 127px;
  color: #fff;
}
.footer_bottom_content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.footer_bottom_content ul {
  display: flex;
  column-gap: clamp(16px,calc(16px + calc(50 - 16) * (100vw - 668px) / 632),50px);
}
.footer_bottom_content .copyright {
  font-size: 14px;
  font-weight: 500;
  margin-left: auto;
}

@media (max-width: 1200px) {
  .footer_nav_block {
    padding-bottom: 30px;
  }
  .footer_nav {
    display: none;
  }
  .footer_logo_block {
    width: 100%;
    align-items: center;
    row-gap: 60px;
  }
  .footer_logo_us img {
    width: 179px;
    margin: 0 auto 23px;
  }
  .footer_logo_us p {
    font-weight: 500;
    line-height: 2;
    font-size: 20px;
  }
  .footer_logo_duskin {
    margin: 0;
  }
  .footer_logo_duskin img {
    width: 136px;
  }
  .footer_bottom_block {
    padding: 23px 0 22px;
    color: #fff;
  }
  .footer_bottom_content {
    display: flex;
    flex-flow: column;
    row-gap: 46px;
  }
  .footer_bottom_content ul {
    flex-flow: column;
    row-gap: 16px;
    font-size: 14px;
  }
  .footer_bottom_content .copyright {
    font-size: 12px;
    font-weight: 400;
    margin-left: 0;
  }
}


/* --------------------
  btn
-------------------- */
.btn_blue,
.btn_white,
.btn_green {
  text-align: center;
  position: relative;
  transition: background-color .3s;
  padding: 26px 55px 26px 43px;
  border-radius: 100px;
  font-size: 20px;
  font-weight: 600;
  max-width: 380px;
  display: block;
}
.btn_blue.btn_small,
.btn_white.btn_small,
.btn_green.btn_small {
  padding: 12px 45px 12px 35px;
}
.btn_blue {
  background-color: #00C0E8;
  color: #fff;
}
.btn_white {
  background-color: #fff;
  color: #00C0E8;
}
.btn_green {
  background-color: #07C7D4;
  color: #fff;
}
.btn_blue:hover {
  background-color: #3BCFEE;
}
.btn_white:hover {
  background-color: #0081CC;
  color: #fff;
}
.btn_green:hover {
  background-color: #37D5DE;
  color: #fff;
}
.btn_white:hover::after {
  border-color: #fff;
}
.btn_blue::after,
.btn_white::after,
.btn_green::after {
  content: "";
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 42px;
}
.btn_blue.btn_small::after,
.btn_white.btn_small::after,
.btn_green.btn_small::after {
  width: 9px;
  height: 9px;
  right: 31px;
}
.btn_blue::after,
.btn_green::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.btn_white::after {
  border-top: 2px solid #00C0E8;
  border-right: 2px solid #00C0E8;
}
.btn_blue.newwindow::after {
  width: 19px;
  height: 19px;
  background-image: url("/asset/images/common/icon_newwindow_white.svg");
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  transform: translateY(-50%);
}
@media (max-width: 667px) {
  .btn_blue,
  .btn_white,
  .btn_green {
    padding: 18px 55px 18px 35px;
    font-size: 18px;
    max-width: 286px;
  }
  .btn_blue.btn_small,
  .btn_white.btn_small,
  .btn_green.btn_small {
    padding: 10px 30px 10px 20px;
    font-size: 16px;
  }
  .btn_blue::after,
  .btn_white::after,
  .btn_green::after {
    width: 9px;
    height: 9px;
    right: 25px;
  }
  .btn_blue.btn_small::after,
  .btn_white.btn_small::after,
  .btn_green.btn_small::after {
    width: 8px;
    height: 8px;
    right: 20px;
  }
}
