@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", system-ui;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.8;
}
body * {
  font-size: inherit;
}

h1, h2, h3, h4, h5, h6, ul, li {
  margin: 0;
  padding: 0;
  line-height: 1;
}

p {
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
}

ul, ol, li {
  margin: 0;
  padding: 0;
  line-height: 1;
  list-style-type: none;
}

dl, dt, dd {
  margin: 0;
  padding: 0;
}

address {
  font-style: normal;
}

a {
  cursor: pointer;
  text-decoration: none;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  color: inherit;
  padding: 0;
  font: inherit;
  text-decoration: none;
}

button:focus {
  outline: none;
}

.uppercase {
  text-transform: uppercase;
}

.image-block {
  line-height: 1;
}

.pc-only {
  display: block;
}
@media screen and (max-width: 750px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 750px) {
  .sp-only {
    display: block;
  }
}

.large-pc-only {
  display: block;
}
@media screen and (max-width: 1200px) {
  .large-pc-only {
    display: none;
  }
}

.flex {
  display: flex;
}

.inline-block {
  display: inline-block;
}

.red {
  color: #ff0000;
}

.yellow {
  color: #ffd200;
}

.hidden {
  opacity: 0;
  visibility: hidden;
}

.visible {
  opacity: 1;
  visibility: visible;
}

.flicker ul {
  display: flex;
}
.flicker .item {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.flicker.already-blinked {
  visibility: visible;
  opacity: 1;
}

/* Animista.css 設定*/
.animate__fadeInUp {
  animation-duration: 1.5s !important;
}

.animate__slideInRight {
  animation-duration: 2.5s !important;
}

.animate__slideInLeft {
  animation-duration: 2.5s !important;
}

/* Animista 設定*/
@-webkit-keyframes wobble-ver-left {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateY(-30px) rotate(-6deg);
    transform: translateY(-30px) rotate(-6deg);
  }
  30% {
    -webkit-transform: translateY(15px) rotate(6deg);
    transform: translateY(15px) rotate(6deg);
  }
  45% {
    -webkit-transform: translateY(-15px) rotate(-3.6deg);
    transform: translateY(-15px) rotate(-3.6deg);
  }
  60% {
    -webkit-transform: translateY(9px) rotate(2.4deg);
    transform: translateY(9px) rotate(2.4deg);
  }
  75% {
    -webkit-transform: translateY(-6px) rotate(-1.2deg);
    transform: translateY(-6px) rotate(-1.2deg);
  }
}
@keyframes wobble-ver-left {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateY(-30px) rotate(-6deg);
    transform: translateY(-30px) rotate(-6deg);
  }
  30% {
    -webkit-transform: translateY(15px) rotate(6deg);
    transform: translateY(15px) rotate(6deg);
  }
  45% {
    -webkit-transform: translateY(-15px) rotate(-3.6deg);
    transform: translateY(-15px) rotate(-3.6deg);
  }
  60% {
    -webkit-transform: translateY(9px) rotate(2.4deg);
    transform: translateY(9px) rotate(2.4deg);
  }
  75% {
    -webkit-transform: translateY(-6px) rotate(-1.2deg);
    transform: translateY(-6px) rotate(-1.2deg);
  }
}
.wobble-ver-left {
  -webkit-animation: wobble-ver-left 0.8s both;
  animation: wobble-ver-left 0.8s both;
}

@-webkit-keyframes wobble-hor-top {
  0%, 100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateX(-30px) rotate(6deg);
    transform: translateX(-30px) rotate(6deg);
  }
  30% {
    -webkit-transform: translateX(15px) rotate(-6deg);
    transform: translateX(15px) rotate(-6deg);
  }
  45% {
    -webkit-transform: translateX(-15px) rotate(3.6deg);
    transform: translateX(-15px) rotate(3.6deg);
  }
  60% {
    -webkit-transform: translateX(9px) rotate(-2.4deg);
    transform: translateX(9px) rotate(-2.4deg);
  }
  75% {
    -webkit-transform: translateX(-6px) rotate(1.2deg);
    transform: translateX(-6px) rotate(1.2deg);
  }
}
@keyframes wobble-hor-top {
  0%, 100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateX(-30px) rotate(6deg);
    transform: translateX(-30px) rotate(6deg);
  }
  30% {
    -webkit-transform: translateX(15px) rotate(-6deg);
    transform: translateX(15px) rotate(-6deg);
  }
  45% {
    -webkit-transform: translateX(-15px) rotate(3.6deg);
    transform: translateX(-15px) rotate(3.6deg);
  }
  60% {
    -webkit-transform: translateX(9px) rotate(-2.4deg);
    transform: translateX(9px) rotate(-2.4deg);
  }
  75% {
    -webkit-transform: translateX(-6px) rotate(1.2deg);
    transform: translateX(-6px) rotate(1.2deg);
  }
}
.wobble-hor-top {
  -webkit-animation: wobble-hor-top 0.8s both;
  animation: wobble-hor-top 0.8s both;
}

.wrapper {
  background-color: #e6e6e6;
}
.wrapper .main {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  box-sizing: border-box;
  background-color: #ffffff;
  padding-top: 70px;
}

.nav {
  background-color: #000000;
  width: 100%;
  max-height: 70px;
  position: fixed;
  top: 0;
  z-index: 100;
}
.nav_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  height: 70px;
}
.nav_flex_left {
  width: fit-content;
  z-index: 100;
}
.nav_flex_left .h1 {
  padding: 5px 30px;
  line-height: 1;
  width: 140px;
  height: 60px;
}
@media screen and (max-width: 750px) {
  .nav_flex_left .h1 {
    width: 87px;
    padding: 15px 30px;
    height: 40px;
  }
}
.nav_flex_right {
  width: fit-content;
}
.nav_flex_right .navbar-pc {
  display: flex;
  align-items: center;
  max-height: 70px;
}
@media screen and (max-width: 750px) {
  .nav_flex_right .navbar-pc {
    display: none;
  }
}
.nav_flex_right .navbar-pc_item {
  font-size: 16px;
  color: #ffffff;
  letter-spacing: 1.2px;
  padding: 0 16px;
}
@media screen and (max-width: 1200px) {
  .nav_flex_right .navbar-pc_item {
    padding: 0 1.3333333333vw;
    font-size: 14px;
  }
}
.nav_flex_right .navbar-pc_item:nth-last-child(2) {
  background-color: #ffffff;
  color: #000000;
  border-radius: 20px;
  padding: 7px 16px !important;
  margin: 0 14px;
}
@media screen and (max-width: 1200px) {
  .nav_flex_right .navbar-pc_item:nth-last-child(2) {
    padding: 0.5833333333vw 1.3333333333vw !important;
    margin: 0 1.1666666667vw;
  }
}
.nav_flex_right .navbar-pc_item:last-child {
  display: block;
  border: 0;
  width: 130px;
  height: 40px;
}
@media screen and (max-width: 1200px) {
  .nav_flex_right .navbar-pc_item:last-child {
    width: clamp(100px, 13.33vw, 130px);
    height: clamp(32px, 4.26vw, 40px);
  }
}
.nav_flex_right .navbar-pc_item:last-child img {
  width: 100%;
}
.nav_flex_right .navber-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .nav_flex_right .navber-sp {
    display: block;
    height: 50px;
  }
  .nav_flex_right .navber-sp .hamburger {
    width: 50px;
    height: 50px;
    position: relative;
    border: none;
    background: transparent;
    appearance: none;
    padding: 0;
    cursor: pointer;
    z-index: 100;
  }
  .nav_flex_right .navber-sp .hamburger_bar {
    display: inline-block;
    width: 85%;
    height: 4px;
    background: #ffffff;
    position: absolute;
    left: 0%;
    transform: translateX(-50%);
    transition: 0.5s;
  }
  .nav_flex_right .navber-sp .hamburger_bar:first-child {
    top: 11px;
  }
  .nav_flex_right .navber-sp .hamburger_bar:nth-child(2) {
    top: 22px;
  }
  .nav_flex_right .navber-sp .hamburger_bar:last-child {
    top: 34px;
  }
  .nav_flex_right .navber-sp .hamburger-open .hamburger_bar {
    top: 50%;
  }
  .nav_flex_right .navber-sp .hamburger-open .hamburger_bar:first-child {
    width: 100%;
    border-radius: 4px;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }
  .nav_flex_right .navber-sp .hamburger-open .hamburger_bar:last-child {
    width: 100%;
    border-radius: 4px;
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }
  .nav_flex_right .navber-sp .hamburger-open .hamburger_bar:nth-child(2) {
    display: none;
  }
  .nav_flex_right .navber-sp .navigation {
    display: none;
    background: rgba(0, 0, 0, 0.95);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
  }
  .nav_flex_right .navber-sp .nav_list {
    list-style: none;
    padding: 27% 0 0;
    margin: 0;
    width: 64.5%;
    position: absolute;
    top: 0;
    right: 0;
  }
  .nav_flex_right .navber-sp .nav_list-item {
    border-bottom: solid 2px #ffffff;
    padding-bottom: 7px;
  }
  .nav_flex_right .navber-sp .nav_list-item:not(:first-of-type) {
    padding-top: 15.8%;
  }
  .nav_flex_right .navber-sp .nav_list-item:last-child {
    display: flex;
    border-bottom: none;
  }
  .nav_flex_right .navber-sp .nav_list-item:last-child .nav_link {
    margin-right: 2%;
  }
  .nav_flex_right .navber-sp .nav_list-item:last-child .nav_link .image-block {
    width: 50px;
  }
  .nav_flex_right .navber-sp .nav_list-item:last-child .nav_link:first-child img {
    border-radius: 12px;
  }
  .nav_flex_right .navber-sp .nav_link {
    color: #ffffff;
    font-weight: 700;
    font-size: clamp(1.125rem, -0.078rem + 5.5vw, 2.5rem);
    text-decoration: none;
    display: block;
    transition: 0.5s;
  }
  .nav_flex_right .navber-sp .nav_link .title-en {
    letter-spacing: 2.2px;
  }
  .nav_flex_right .navber-sp .nav_link .title-ja {
    letter-spacing: 7px;
    font-size: clamp(0.688rem, 0.086rem + 2.75vw, 1.375rem);
    vertical-align: middle;
    padding: 0 7px;
    font-weight: 400;
  }
  .nav_flex_right .navber-sp .btn_box {
    display: flex;
  }
  .nav_flex_right .navber-sp .btn_box .image-block {
    width: 50px;
  }
}
@media screen and (max-width: 750px) and (hover: hover) and (pointer: fine) {
  .nav_flex_right .navber-sp .nav_link:hover {
    background: #e6e6e6;
  }
}

.footer {
  font-size: 16px;
  padding: 58px 0 22px;
  background-color: #000000;
  color: #ffffff;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 750px) {
  .footer {
    padding: 60px 0 45px;
  }
}
.footer .flex {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2.5%;
  box-sizing: border-box;
}
@media screen and (max-width: 750px) {
  .footer .flex {
    padding: 0 4%;
  }
}
.footer .flex .left .sns_box_pc {
  width: fit-content;
  display: flex;
}
.footer .flex .left .sns_box_pc .image-block {
  width: 30px;
}
@media screen and (max-width: 750px) {
  .footer .flex .left {
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
  }
}
.footer .flex .left_li_item {
  color: #ffffff;
}
.footer .flex .left_li:not(:first-child) {
  margin-top: 27px;
}
.footer .flex .left_li:nth-last-child(2) {
  display: none;
}
@media screen and (max-width: 750px) {
  .footer .flex .left_li:nth-last-child(2) {
    display: block;
  }
}
.footer .flex .right {
  text-align: right;
}
@media screen and (max-width: 750px) {
  .footer .flex .right {
    padding-top: 0;
    font-size: clamp(10px, 2.857vw, 20px);
  }
}
.footer .flex .right_address {
  text-align: right;
}
.footer .flex .right_address_p {
  line-height: 1;
  padding-bottom: 22px;
  color: #ffffff;
}
@media screen and (max-width: 750px) {
  .footer .flex .right_address_p {
    padding-bottom: 14px;
  }
  .footer .flex .right_address_p a {
    color: inherit;
    text-decoration: none;
  }
}
.footer .flex .right_policy {
  margin-top: 97px;
  padding-bottom: 13px;
  display: block;
}
@media screen and (max-width: 750px) {
  .footer .flex .right_policy {
    margin-top: 0;
    padding-top: 90px;
  }
}
.footer .flex .right_policy_link {
  color: #ffffff;
}
.footer .flex .right .copyright {
  font-size: 14px;
}
@media screen and (max-width: 750px) {
  .footer .flex .right .copyright {
    font-size: clamp(10px, 2.857vw, 20px);
  }
}

.sl {
  display: flex;
  justify-content: space-between;
  padding: 16.7% 2.5% 0;
}
@media screen and (max-width: 750px) {
  .sl {
    padding: 16.7% 4% 0;
  }
}
.sl_left {
  width: 44%;
}
.sl_right {
  width: 56%;
  padding-left: 2.5%;
  box-sizing: border-box;
}
.sl_right_title {
  padding-top: 8.5%;
  padding-bottom: 5%;
  font-size: clamp(1.875rem, -0.208rem + 4.44vw, 3.125rem);
  font-weight: 700;
  letter-spacing: 2.5px;
  line-height: 1.2;
  border-bottom: solid 2px #000000;
}
.sl_right_subtitle {
  padding-top: 5%;
  padding-bottom: 3.3%;
  font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  letter-spacing: 1.3px;
}
.sl_right_desc {
  font-size: clamp(0.75rem, 0.125rem + 1.33vw, 1.125rem);
  line-height: 1.68;
  letter-spacing: 0.2px;
}

.morebox_title {
  font-size: 50px;
  padding-bottom: 26px;
  border-bottom: solid 2px #000000;
  display: flex;
}
@media screen and (max-width: 750px) {
  .morebox_title {
    font-size: clamp(1.875rem, 1.328rem + 2.5vw, 2.5rem);
    padding-bottom: 16px;
  }
}
@media screen and (max-width: 750px) {
  .morebox_title_desc {
    padding-top: 5%;
  }
}
.morebox .morebox_under {
  display: flex;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under {
    align-items: center;
    padding-top: 5%;
  }
}
.morebox .morebox_under .morebox_left {
  padding-top: 22px;
  width: 50%;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_left {
    padding-top: 0;
    width: 51.5%;
  }
}
.morebox .morebox_under .morebox_left_desc {
  font-size: clamp(0.75rem, 0.333rem + 0.89vw, 1rem);
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_left_desc {
    display: none;
  }
}
.morebox .morebox_under .morebox_left_btn {
  display: flex;
  align-items: center;
  padding-top: 8.5%;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_left_btn {
    padding-top: 0;
  }
}
.morebox .morebox_under .morebox_left_btn .morebox_allow {
  width: 68%;
  border-bottom: solid 1px #000000;
  padding-top: 28px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_left_btn .morebox_allow {
    width: 65%;
    padding-top: 12%;
  }
}
.morebox .morebox_under .morebox_left_btn .morebox_allow:after {
  display: block;
  background-color: #000000;
  content: "";
  height: 1px;
  width: 16%;
  transform: rotate(37deg);
  position: absolute;
  bottom: clamp(0.5rem, -0.542rem + 2.22vw, 1.125rem);
  right: -2%;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_left_btn .morebox_allow:after {
    width: 17%;
    bottom: clamp(0.125rem, -0.313rem + 2vw, 0.625rem);
  }
}
.morebox .morebox_under .morebox_left_btn .morebox_link_layout {
  width: clamp(6.563rem, 4.479rem + 4.44vw, 7.813rem);
  height: clamp(6.563rem, 4.479rem + 4.44vw, 7.813rem);
  font-size: clamp(0.938rem, -0.047rem + 4.5vw, 2.063rem);
  color: #000000;
  border: solid 1px #000000;
  border-radius: 50%;
  margin-left: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.5s ease;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_left_btn .morebox_link_layout {
    width: clamp(3.438rem, 0.703rem + 12.5vw, 6.563rem);
    height: clamp(3.438rem, 0.703rem + 12.5vw, 6.563rem);
    margin-left: 17px;
  }
}
.morebox .morebox_under .morebox_left_btn .morebox_link_layout:hover {
  background-color: #ffd200;
}
.morebox .morebox_under .morebox_right {
  width: 50%;
  padding-top: 27px;
  padding-right: 46px;
  text-align: right;
  box-sizing: border-box;
}
@media screen and (max-width: 750px) {
  .morebox .morebox_under .morebox_right {
    width: 48.5%;
  }
}
.morebox .sp-desc {
  display: none;
}
@media screen and (max-width: 750px) {
  .morebox .sp-desc {
    display: block;
    padding: 1.4% 0 0;
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
    line-height: 1.35;
  }
}

.lowhead {
  padding: 55px 30px 51px;
  border-bottom: solid 3px #000000;
}
@media screen and (max-width: 750px) {
  .lowhead {
    padding: 6.6% 4% 6%;
  }
}
.lowhead_en {
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 1.8px;
}
@media screen and (max-width: 750px) {
  .lowhead_en {
    font-size: clamp(1.125rem, -0.078rem + 5.5vw, 2.5rem);
    line-height: 1;
  }
}
.lowhead_ja {
  font-size: 18px;
  letter-spacing: 3.5px;
  padding-top: 6px;
}
@media screen and (max-width: 750px) {
  .lowhead_ja {
    font-size: clamp(0.75rem, -0.016rem + 3.5vw, 1.625rem);
    padding-top: 5px;
  }
}

.circle-box {
  padding: 151px 135px 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .circle-box {
    padding: 67px 0 0;
  }
}
.circle-box .circle-pc, .circle-box .circle-sp {
  width: fit-content;
  position: absolute;
  top: 0;
  left: 0;
}
.circle-box .circle-pc svg, .circle-box .circle-sp svg {
  display: block;
  margin: 0 auto;
  width: 75%;
  /* height: auto; */
}
@media screen and (max-width: 750px) {
  .circle-box .circle-pc svg, .circle-box .circle-sp svg {
    margin: 0;
  }
}
.circle-box .circle-pc .donut, .circle-box .circle-sp .donut {
  transform-origin: center;
  transform: rotate(-90deg);
  transition: stroke-dashoffset 3s ease-out;
}
.circle-box .circle-pc .animate, .circle-box .circle-sp .animate {
  stroke-dashoffset: 0;
}
.circle-box .c-title, .circle-box .c-subtitle, .circle-box .c-desc1 {
  z-index: 10;
  position: relative;
}
.circle-box .c-title {
  font-size: 50px;
  letter-spacing: 2.5px;
  padding-bottom: 26px;
  position: relative;
  display: flex;
}
@media screen and (max-width: 750px) {
  .circle-box .c-title {
    font-size: clamp(1.125rem, -0.078rem + 5.5vw, 2.5rem);
    margin-left: 50px;
    padding-bottom: 15px;
  }
}
.circle-box .c-title_before {
  padding-right: 10px;
}
.circle-box .c-title .c-border {
  position: absolute;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background-color: #000000;
}
.circle-box .c-subtitle {
  padding-top: 25px;
  padding-bottom: 55px;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 750px) {
  .circle-box .c-subtitle {
    padding-top: 15px;
    padding-bottom: 60px;
    margin-left: 50px;
    font-size: clamp(0.75rem, 0.094rem + 3vw, 1.5rem);
  }
}
.circle-box .c-desc1 {
  font-size: 23px;
  letter-spacing: 1.3px;
}
@media screen and (max-width: 750px) {
  .circle-box .c-desc1 {
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
    line-height: 2;
    letter-spacing: 0;
  }
}
.circle-box .c-img {
  padding-top: 18px;
  padding-bottom: 32px;
  max-width: 870px;
}
@media screen and (max-width: 750px) {
  .circle-box .c-img {
    padding-bottom: 19px;
  }
}
.circle-box .c-desc2 {
  font-size: 16px;
  line-height: 1.87;
}
@media screen and (max-width: 750px) {
  .circle-box .c-desc2 {
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
    line-height: 2;
  }
}

.otoiawase {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.otoiawase_desc {
  font-size: 16px;
  padding-bottom: 26px;
}
@media screen and (max-width: 750px) {
  .otoiawase_desc {
    font-size: clamp(0.75rem, 0.313rem + 2vw, 1.25rem);
    padding-bottom: 18px;
    padding-left: 2%;
    padding-right: 2%;
  }
}
.otoiawase_btn {
  max-width: 402px;
}
@media screen and (max-width: 750px) {
  .otoiawase_btn {
    max-width: 300px;
  }
}
.otoiawase_btn_layout {
  display: block;
  color: #000000;
  background-color: #ffffff;
  border: solid 1px #000000;
  border-radius: 50px;
  padding: 31px 110px;
  font-size: 20px;
  text-align: center;
  letter-spacing: 10px;
  transition: background-color 0.5s ease;
}
@media screen and (max-width: 750px) {
  .otoiawase_btn_layout {
    padding: 22px 47px;
    font-size: clamp(0.75rem, 0.094rem + 3vw, 1.5rem);
  }
}
.otoiawase_btn_layout:hover {
  color: #ffffff;
  background-color: #000000;
}

.policy .lowhead_en {
  letter-spacing: 2px;
}
.policy .kiyaku {
  padding: 4.3% 16.5% 20.4%;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .policy .kiyaku {
    padding: 6.3% 4% 20.4%;
    font-size: clamp(0.875rem, 0.328rem + 2.5vw, 1.5rem);
  }
}
.policy .kiyaku .item:nth-of-type(n+2) .item_title_h2 {
  padding-top: 40px;
  line-height: 1.5;
}
.policy .kiyaku .item_title {
  padding-bottom: 5px;
}
.policy .kiyaku .item_title_h2 {
  font-weight: 700;
  letter-spacing: 1.3px;
  padding-bottom: 5px;
  border-bottom: solid 1px #b3b3b3;
}
.policy .kiyaku .item .item_li {
  line-height: 1.8;
  letter-spacing: 0.3px;
}
.policy .kiyaku .kiyaku00 .item_desc:nth-child(1) {
  padding-bottom: 35px;
}
.policy .kiyaku .kiyaku02 .item_ul .item_li {
  letter-spacing: 0.3px;
}

.index .main .keyvisual_contents {
  padding-top: 30px;
  max-width: 1200px;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual_contents {
    padding-top: 16px;
  }
}
.index .main .keyvisual .lines {
  display: flex;
  align-items: center;
  position: relative;
}
.index .main .keyvisual .lines .mojiset {
  position: absolute;
  left: 0;
  padding: 0 !important;
}
.index .main .keyvisual .lines_border {
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -2px;
  background-color: #000000;
}
.index .main .keyvisual .line1 {
  padding: 0px 10px 10px;
  gap: 2%;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line1 {
    padding-bottom: 20px;
  }
}
.index .main .keyvisual .line1 .mojiset01 {
  top: 26%;
  left: 0;
  max-height: 307px;
  height: 25.5833333333vw;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line1 .mojiset01 {
    top: 22%;
  }
}
.index .main .keyvisual .line2 {
  padding: 10px 1% 8px 8%;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2 {
    padding: 3% 1% 2% 6%;
  }
}
.index .main .keyvisual .line2 .mojiset02 {
  top: 71.2%;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2 .mojiset02 {
    top: 70.5%;
  }
}
.index .main .keyvisual .line2_left {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 50%;
  gap: 2.5%;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2_left {
    padding-top: 1.7%;
    gap: 0;
  }
  .index .main .keyvisual .line2_left .image-block {
    padding-right: 8px;
  }
}
.index .main .keyvisual .line2_right {
  width: 50%;
}
.index .main .keyvisual .line2 .about {
  padding-left: 25%;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2 .about {
    padding: 0;
  }
}
.index .main .keyvisual .line2 .about_title {
  width: fit-content;
  padding: 10% 3% 8% 4%;
  line-height: 1.6;
  font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  background-color: #ffd200;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2 .about_title {
    padding: 2% 2% 1.2% 2%;
    font-size: clamp(0.75rem, -0.125rem + 4vw, 1.75rem);
  }
}
.index .main .keyvisual .line2 .about_title .a-title1 {
  letter-spacing: 6px;
}
.index .main .keyvisual .line2 .about_title .a-title2 {
  letter-spacing: 3.1px;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2 .about_title .a-title2 {
    letter-spacing: 4px;
  }
}
.index .main .keyvisual .line2 .about_desc {
  font-size: clamp(0.75rem, 0.333rem + 0.89vw, 1rem);
  letter-spacing: -1px;
  padding-top: 16px;
  line-height: 1.9;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line2 .about_desc {
    font-size: clamp(0.625rem, -0.031rem + 3vw, 1.375rem);
    padding-top: 4%;
    line-height: 1.2;
    letter-spacing: 1.5px;
  }
}
.index .main .keyvisual .line3 {
  padding: 7px 10px 10px 18.5%;
  gap: 24px;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line3 {
    padding: 3.7% 10px 17px 20.8%;
    gap: 10px;
  }
}
.index .main .keyvisual .line3 .mojiset03 {
  top: 14.5%;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line3 .mojiset03 {
    top: 19.2%;
  }
}
.index .main .keyvisual .line4 {
  padding: 10px 10px 13px 8px;
  gap: 28px;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line4 {
    padding: 2.8% 10px 3.2% 8px;
    gap: 8px;
  }
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line4 .image-block.e:nth-of-type(3) {
    margin-right: 20px;
  }
}
.index .main .keyvisual .line4 .mojiset04 {
  top: 66%;
}
@media screen and (max-width: 750px) {
  .index .main .keyvisual .line4 .mojiset04 {
    top: 64%;
  }
}
.index .main .keyvisual .line4 .a {
  margin-left: -28px;
}
@media screen and (max-width: 750px) {
  .index .solutions .sl {
    padding-top: 13.5%;
  }
  .index .solutions .sl .sl_left {
    width: 40.5%;
  }
  .index .solutions .sl .sl_right {
    width: 59.5%;
    padding-left: 2%;
  }
  .index .solutions .sl .sl_right_title {
    padding-top: 10.5%;
    font-size: clamp(1.125rem, -0.078rem + 5.5vw, 2.5rem);
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .index .solutions .sl .sl_right_subtitle {
    font-size: clamp(1rem, 0.125rem + 4vw, 2rem);
    letter-spacing: 3px;
    line-height: 1.2;
  }
}
@media screen and (max-width: 750px) {
  .index .solutions .sl .sl_right_desc {
    display: none;
  }
}
.index .solutions .sp-desc {
  display: none;
}
@media screen and (max-width: 750px) {
  .index .solutions .sp-desc {
    display: block;
    padding: 1.4% 4% 0;
  }
}
.index .webdesign {
  padding: 15.5% 2.5% 0;
}
@media screen and (max-width: 750px) {
  .index .webdesign {
    padding: 22.5% 4% 0;
  }
}
.index .webdesign .morebox_title_before {
  letter-spacing: 4px;
}
.index .webdesign .morebox_title_after {
  letter-spacing: 9px;
  margin-left: 11px;
}
.index .webdesign .morebox_right {
  padding-top: 2.5%;
  padding-right: 4%;
  padding-left: 10.8%;
}
@media screen and (max-width: 750px) {
  .index .webdesign .morebox_right {
    padding-top: 0;
    padding-right: 1.7%;
    padding-left: 7.2%;
  }
}
.index .graphic {
  padding: 21.7% 2.5% 0;
}
@media screen and (max-width: 750px) {
  .index .graphic {
    padding: 16.7% 4% 0;
  }
}
.index .graphic .morebox_title_before {
  letter-spacing: 3px;
}
.index .graphic .morebox_title_after {
  letter-spacing: 2.5px;
  margin-left: 9px;
}
.index .graphic .morebox_under .morebox_right {
  padding-top: 3.5%;
  padding-right: 6%;
  padding-left: 8.5%;
}
@media screen and (max-width: 750px) {
  .index .graphic .morebox_under .morebox_right {
    padding-top: 0;
    padding-right: 2%;
    padding-left: 5%;
  }
}
.index .sns {
  padding: 21.5% 2.5% 18.45%;
}
@media screen and (max-width: 750px) {
  .index .sns {
    padding: 16.7% 4% 25.5%;
  }
}
.index .sns .morebox_title_before {
  letter-spacing: 3px;
}
@media screen and (max-width: 750px) {
  .index .sns .morebox_title_before {
    padding-right: 5px;
  }
}
.index .sns .morebox_title_after {
  letter-spacing: 2px;
  margin-left: 9px;
}
.index .sns .morebox_under .morebox_right {
  padding-top: 2.5%;
  padding-right: 8.2%;
  padding-left: 5.3%;
}
@media screen and (max-width: 750px) {
  .index .sns .morebox_under .morebox_right {
    padding-top: 0;
    padding-right: 2.2%;
    padding-left: 4.8%;
  }
}

.works .lowhead_en {
  letter-spacing: 1px;
}
.works .tab-menu .tab {
  padding-bottom: 16.3%;
}
.works .tab-menu .tab_link {
  display: flex;
  font-size: clamp(1.219rem, -0.292rem + 3.22vw, 2.125rem);
  margin: 30px 2.5% 0;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_link {
    flex-wrap: wrap;
    font-size: clamp(0.875rem, -0.219rem + 5vw, 2.125rem);
    margin: 13.7% 4% 0;
  }
}
.works .tab-menu .tab_link_li {
  letter-spacing: 2.5px;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_link_li {
    margin: 0;
    width: 41.5%;
  }
  .works .tab-menu .tab_link_li:nth-child(n+3) {
    margin-top: 7%;
  }
}
.works .tab-menu .tab_link_li_border {
  border-bottom: solid 2px #000000;
  padding-bottom: 14px;
  width: fit-content;
}
.works .tab-menu .tab_link_li:nth-child(1) .li-before {
  padding-right: 2%;
}
.works .tab-menu .tab_link_li:nth-child(2) .li-before {
  padding-right: 2%;
}
.works .tab-menu .tab_link_li:nth-child(3) .li-before {
  padding-right: 2%;
}
.works .tab-menu .tab_content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 0 2%;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_content {
    grid-template-columns: 1fr;
  }
}
.works .tab-menu .tab_content .panel {
  padding: 68px 10px 0;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_content .panel {
    padding: 100px 4% 0;
  }
}
.works .tab-menu .tab_content .panel_img {
  display: flex;
  justify-content: center;
}
.works .tab-menu .tab_content .panel_img .image-block {
  width: 100%;
}
.works .tab-menu .tab_content .panel_img .image-block img {
  transition: transform 0.3s ease-in-out;
}
.works .tab-menu .tab_content .panel_img .image-block:hover img {
  transform: scale(1.05);
}
.works .tab-menu .tab_content .panel_text {
  padding-top: 30px;
  font-size: 14px;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_content .panel_text {
    padding-left: 0;
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
  }
}
.works .tab-menu .tab_content .panel_title {
  width: fit-content;
  padding: 6px 12px;
  background-color: #000000;
  color: #ffffff;
  border-radius: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_content .panel_title {
    padding: 11px 17px;
    border-radius: 26px;
    letter-spacing: 2px;
  }
}
.works .tab-menu .tab_content .panel_title_before {
  padding-right: 4px;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_content .panel_title_before {
    padding-right: 7px;
  }
}
.works .tab-menu .tab_content .panel_name {
  padding-top: 8px;
  border-top: solid 1px #000;
}
@media screen and (max-width: 750px) {
  .works .tab-menu .tab_content .panel_name {
    padding-top: 5px;
  }
}
.works .tab-menu .tab_content .panel .harfwidth {
  width: 53.4%;
  margin: 0 auto;
}
.works .panel {
  display: none; /* 初期状態で全てのパネルを非表示 */
}
.works .panel.active {
  display: block; /* アクティブなパネルのみ表示 */
}
.works .modal {
  display: none;
  position: fixed; /* 画面全体を覆う */
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
}
.works .modal-content {
  position: relative;
  max-width: 100%;
  height: 100vh;
}
.works .modal-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px;
  height: 950px;
  background-color: #ffffff;
}
@media screen and (max-width: 1200px) {
  .works .modal-panel {
    width: 70%;
    height: 70vw;
  }
}
@media screen and (max-width: 750px) {
  .works .modal-panel {
    width: 90%;
    height: 90vw;
  }
}
.works #modal-img {
  width: 100%;
  height: 700px;
  max-width: 700px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1200px) {
  .works #modal-img {
    width: 70%;
    height: 70%;
  }
}
@media screen and (max-width: 750px) {
  .works #modal-img {
    width: 80%;
    height: 80%;
  }
}
.works .close {
  position: absolute;
  top: 0;
  right: 15px;
  color: #000000;
  font-size: 30px;
  font-weight: bold;
  cursor: pointer;
  height: 30px;
}
@media screen and (max-width: 576px) {
  .works .close {
    right: 5px;
    font-size: 20px;
  }
}
.works .otoiawase {
  padding-bottom: 16.7%;
}
@media screen and (max-width: 750px) {
  .works .otoiawase {
    padding-bottom: 13.5%;
  }
}
@media screen and (max-width: 750px) {
  .works .otoiawase_desc {
    text-align: center;
  }
}

.service .c-subtitle2 {
  padding: 30px 0 10px;
}
@media screen and (max-width: 750px) {
  .service .c-subtitle2 {
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
  }
}
.service .list-box {
  margin-left: 30px;
}
.service .list-box .list {
  list-style-type: disc;
  padding-top: 15px;
}
@media screen and (max-width: 750px) {
  .service .list-box .list {
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
  }
}
.service .webdesign {
  padding: 97px 30px 0;
}
@media screen and (max-width: 750px) {
  .service .webdesign {
    padding: 7.5% 4% 0;
  }
}
.service .webdesign .circle-box .c-title-before {
  padding-right: 14px;
}
.service .sns {
  padding: 191px 30px 0;
}
@media screen and (max-width: 750px) {
  .service .sns {
    padding: 13% 4% 0;
  }
}
.service .sns .circle-box .c-title-before {
  padding-right: 10px;
}
@media screen and (max-width: 750px) {
  .service .sns .circle-box .c-title-before {
    padding-right: 7px;
  }
}
@media screen and (max-width: 750px) {
  .service .sns .circle-box .c-title-after {
    letter-spacing: 10px;
  }
}
.service .sns .circle-box .list-box {
  margin-left: 0;
}
.service .sns .circle-box .list-box .list {
  list-style-type: none;
  line-height: 1.5;
}
.service .graphic {
  padding: 196px 30px 0;
}
@media screen and (max-width: 750px) {
  .service .graphic {
    padding: 13.5% 4% 0;
  }
}
.service .graphic .circle-box .c-title-before {
  padding-right: 10px;
}
.service .flow {
  padding: 196px 30px 0;
}
@media screen and (max-width: 750px) {
  .service .flow {
    padding-top: 100px;
  }
}
.service .flow .circle-box {
  padding: 5% 0 0;
}
@media screen and (max-width: 750px) {
  .service .flow .circle-box .c-title, .service .flow .circle-box .c-subtitle {
    margin-left: 0;
  }
  .service .flow .circle-box .c-subtitle {
    padding-bottom: 30px;
  }
}
.service .flow .steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .service .flow .steps {
    grid-template-columns: 1fr;
  }
}
.service .flow .step {
  display: flex;
  align-items: flex-start;
  padding: 20px;
  border: 1px solid #000;
}
@media screen and (max-width: 750px) {
  .service .flow .step {
    border-left: none;
    border-right: none;
  }
}
.service .flow .step:nth-child(1) {
  border-top: none;
  border-left: none;
}
.service .flow .step:nth-child(2) {
  border-top: none;
  border-right: none;
}
.service .flow .step:nth-child(3) {
  border-bottom: none;
  border-left: none;
}
@media screen and (max-width: 750px) {
  .service .flow .step:nth-child(3) {
    border-top: none;
  }
}
.service .flow .step:nth-child(4) {
  border-bottom: none;
  border-right: none;
}
.service .flow .step-content {
  flex: 1;
}
.service .flow .step-content .desc {
  padding: 2% 0;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .service .flow .step-content .desc {
    font-size: clamp(0.875rem, 0.109rem + 3.5vw, 1.75rem);
  }
}
.service .otoiawase {
  padding-top: 191px;
  padding-bottom: 200px;
}
@media screen and (max-width: 750px) {
  .service .otoiawase {
    padding-top: 90px;
    padding-bottom: 100px;
  }
}

.price .package {
  margin-bottom: 5%;
}
@media screen and (max-width: 750px) {
  .price .package {
    padding: 0 2%;
  }
}
.price .package .img-box {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 5% 0;
}
.price .package .img-box .image-block {
  padding: 0 1%;
}
.price .package .pricing-table {
  width: 80%;
  margin: 0 auto;
  padding: 2% 0;
  border-collapse: collapse;
}
@media screen and (max-width: 1200px) {
  .price .package .pricing-table {
    width: 100%;
  }
}
.price .package .pricing-table .table-line {
  border-top: 1px solid #7f7f7f;
  border-bottom: 1px solid #7f7f7f;
}
.price .package .pricing-table .title {
  background: #ddd;
  font-weight: bold;
  text-align: left;
  padding: 20px;
  width: 40%;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .price .package .pricing-table .title {
    padding: 15px;
    font-size: 14px;
  }
}
.price .package .pricing-table .desc {
  padding: 20px;
  width: 60%;
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .price .package .pricing-table .desc {
    font-size: 15px;
  }
}
.price .package .plus {
  font-size: 24px;
  font-weight: bold;
  padding: 10px 0;
  display: flex;
  justify-content: center;
}
.price .package .total-box {
  width: 90%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: end;
}
@media screen and (max-width: 750px) {
  .price .package .total-box {
    width: 100%;
  }
}
.price .package .total-box .notes {
  font-size: 1rem;
}
.price .package .total {
  font-size: 30px;
  font-weight: bold;
  margin-top: 20px;
  width: fit-content;
  border-bottom: solid 2px #000000;
  letter-spacing: 2px;
}
.price .package .highlight {
  font-weight: bold;
}
.price .price-individual {
  padding: 4% 2%;
}
@media screen and (max-width: 750px) {
  .price .price-individual {
    padding: 10% 2%;
  }
}
.price .price-individual .morebox_title {
  font-size: 30px;
  letter-spacing: 6px;
}
@media screen and (max-width: 750px) {
  .price .price-individual .morebox_title {
    font-size: clamp(20px, 3.472vw, 30px);
  }
}
@media screen and (max-width: 576px) {
  .price .price-individual .morebox_title {
    font-size: 20px;
  }
}
.price .price-individual .detailbox {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .price .price-individual .detailbox {
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .price .price-individual .detailbox {
    width: 100%;
    overflow-x: auto;
    position: relative;
  }
}
.price .price-individual .pricing-table {
  border-collapse: collapse;
  margin: 5% auto;
}
@media screen and (max-width: 750px) {
  .price .price-individual .pricing-table {
    display: block;
    width: 150vw;
    overflow-x: auto;
  }
}
.price .price-individual .pricing-table .table-line {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .price .price-individual .pricing-table .table-line {
    font-size: 15px;
  }
}
.price .price-individual .pricing-table .table-line:first-child {
  border-top: 2px solid #000000;
}
.price .price-individual .pricing-table .table-line:last-child {
  border-bottom: 2px solid #000000;
}
.price .price-individual .pricing-table .title {
  padding: 10px;
  text-align: left;
  font-weight: normal;
  width: 30%;
}
@media screen and (max-width: 750px) {
  .price .price-individual .pricing-table .title {
    width: 30%;
  }
}
.price .price-individual .pricing-table .desc {
  padding: 10px;
  text-align: left;
}
.price .price-individual .pricing-table .desc:nth-child(2) {
  background-color: #f5f5f5;
  width: 20%;
}
@media screen and (max-width: 750px) {
  .price .price-individual .pricing-table .desc:nth-child(2) {
    width: 20%;
  }
}
.price .price-individual .pricing-table .desc:nth-child(3) {
  width: 65%;
}
@media screen and (max-width: 750px) {
  .price .price-individual .pricing-table .desc:nth-child(3) {
    width: 50%;
  }
}
@media screen and (max-width: 750px) {
  .price .price-individual .pricing-table + .image-block {
    width: 50px;
    position: absolute;
    top: 40%;
    right: 10px;
  }
}
.price .price-individual .notes {
  font-size: 0.9em;
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .price .price-individual .notes {
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .price .price-individual .notes {
    padding: 2% 0;
    width: 100%;
    font-size: 12px;
  }
}
@media screen and (max-width: 750px) {
  .price .price-individual:nth-child(1) .pricing-table + .image-block {
    top: 40%;
  }
  .price .price-individual:nth-child(2) .pricing-table + .image-block {
    top: 50%;
  }
  .price .price-individual:nth-child(3) .pricing-table + .image-block {
    top: 35%;
  }
}
.price .otoiawase {
  padding-top: 30px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .price .otoiawase {
    padding-top: 0;
  }
}
@media screen and (max-width: 750px) {
  .price .otoiawase_desc {
    display: flex;
    flex-direction: column;
    text-align: center;
  }
}

.company .company-title-before {
  padding-right: 20px;
}
@media screen and (max-width: 750px) {
  .company .company-title-before {
    padding-right: 12px;
  }
}
.company .company-desc-p {
  font-size: clamp(1.75rem, 0.917rem + 1.78vw, 2.25rem);
  padding-top: 17.1%;
  letter-spacing: 8px;
  padding-left: 30px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .company .company-desc-p {
    font-size: clamp(1rem, -0.094rem + 5vw, 2.25rem);
    letter-spacing: 2px;
    padding: 12.5% 4% 0;
    position: relative;
  }
}
.company .company-desc-p .line-wrapper1 {
  position: relative;
}
@media screen and (max-width: 750px) {
  .company .company-desc-p .line-wrapper1 {
    position: static;
    letter-spacing: 5px;
  }
}
.company .company-desc-p .line-wrapper1_border {
  position: absolute;
  left: -30px;
  bottom: -5px;
  display: block;
  width: 100%;
  height: 2px;
  background: #000;
}
@media screen and (max-width: 750px) {
  .company .company-desc-p .line-wrapper1_border {
    width: 92%;
    bottom: 29%;
    left: 4%;
  }
}
.company .company-desc-p .line-wrapper2 {
  position: relative;
}
@media screen and (max-width: 750px) {
  .company .company-desc-p .line-wrapper2 {
    position: static;
    letter-spacing: 4.2px;
  }
}
.company .company-desc-p .line-wrapper2_border {
  position: absolute;
  left: -30px;
  bottom: -5px;
  display: block;
  width: 100%;
  height: 2px;
  background: #000;
}
@media screen and (max-width: 750px) {
  .company .company-desc-p .line-wrapper2_border {
    width: clamp(19.25rem, 6.016rem + 60.5vw, 34.375rem);
    left: 4%;
  }
}
.company .company-info {
  padding-top: 27%;
  padding-left: 33.5%;
}
@media screen and (max-width: 750px) {
  .company .company-info {
    padding: 21% 4% 0;
  }
}
.company .company-info .c-info {
  font-size: 17px;
  padding-right: 25px;
}
@media screen and (max-width: 750px) {
  .company .company-info .c-info {
    font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  }
}
.company .company-info .c-info_row {
  display: flex;
  padding-top: 35.3px;
  padding-bottom: 24px;
  border-bottom: solid 1px #000000;
}
.company .company-info .c-info_row:last-child {
  border-bottom: none;
}
.company .company-info .c-info_dt {
  width: 45%;
  padding-left: 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 750px) {
  .company .company-info .c-info_dt {
    width: 50%;
  }
}
.company .company-info .c-info_dd {
  width: 55%;
}
@media screen and (max-width: 750px) {
  .company .company-info .c-info_dd {
    width: 50%;
  }
  .company .company-info .c-info_dd a {
    color: inherit;
    text-decoration: none;
  }
}
.company .company-info .c-info .biz_list {
  padding-bottom: 10px;
}
.company .message {
  padding: 20% 0 0;
  display: flex;
  flex-direction: column;
  align-items: end;
}
@media screen and (max-width: 750px) {
  .company .message {
    align-items: center;
  }
}
.company .message .circle-box {
  width: 90%;
  padding: 0;
}
@media screen and (max-width: 750px) {
  .company .message .circle-box {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .company .message .circle-box .c-title {
    font-size: clamp(20px, 5.71vw, 30px);
    margin-left: 0;
    padding-bottom: 15px !important;
    padding: 0 2%;
  }
}
.company .message .circle-box .c-title_before {
  padding-right: 0;
}
.company .message .circle-box .c-title_middle1, .company .message .circle-box .c-title_middle2, .company .message .circle-box .c-title_after {
  padding-left: 9px;
}
.company .message .circle-box .c-title_desc {
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .company .message .circle-box .c-title_desc {
    font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  }
}
.company .message .circle-box .c-subtitle {
  padding: 2% 0 5%;
}
@media screen and (max-width: 750px) {
  .company .message .circle-box .c-subtitle {
    margin-left: 0;
    padding: 2% 2% 5%;
  }
}
.company .message_under {
  display: flex;
  justify-content: flex-end;
  width: 90%;
}
@media screen and (max-width: 750px) {
  .company .message_under {
    flex-direction: column;
    align-items: center;
  }
}
.company .message .message_left {
  width: 30%;
}
@media screen and (max-width: 750px) {
  .company .message .message_left {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .company .message .message_left .image-block {
    padding: 0 25%;
  }
}
.company .message .message_right {
  text-align: left;
  width: 70%;
  padding: 25px 30px;
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .company .message .message_right {
    width: 100%;
    font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  }
}
.company .message .message_right .message_desc {
  padding-top: 30px;
}
.company .vision {
  padding: 20% 0 0;
  display: flex;
  flex-direction: column;
  align-items: end;
}
@media screen and (max-width: 750px) {
  .company .vision {
    align-items: center;
  }
}
.company .vision .circle-box {
  width: 90%;
  padding: 0;
}
@media screen and (max-width: 750px) {
  .company .vision .circle-box {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .company .vision .circle-box .c-title {
    font-size: clamp(20px, 5.71vw, 30px);
    margin-left: 0;
    padding-bottom: 15px !important;
    padding: 0 2%;
  }
}
.company .vision .circle-box .c-title_before {
  padding-right: 0;
}
.company .vision .circle-box .c-title_middle1, .company .vision .circle-box .c-title_middle2, .company .vision .circle-box .c-title_after {
  padding-left: 9px;
}
.company .vision .circle-box .c-title_desc {
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .company .vision .circle-box .c-title_desc {
    font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  }
}
.company .vision .circle-box .c-subtitle {
  padding: 2% 0 5%;
}
@media screen and (max-width: 750px) {
  .company .vision .circle-box .c-subtitle {
    margin-left: 0;
    padding: 2% 2% 5%;
  }
}
.company .vision_under {
  display: flex;
  justify-content: flex-end;
  width: 90%;
}
@media screen and (max-width: 750px) {
  .company .vision_under {
    flex-direction: column;
    align-items: center;
  }
}
.company .vision_box {
  padding-right: 30px;
}
@media screen and (max-width: 750px) {
  .company .vision_box {
    padding-right: 0;
    font-size: clamp(0.875rem, -0.167rem + 2.22vw, 1.5rem);
  }
}
.company .vision_desc {
  padding-top: 30px;
}
.company .otoiawase {
  padding-top: 170px;
  padding-bottom: 200px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .company .otoiawase {
    padding-top: 70px;
    padding-bottom: 100px;
  }
}

.contact .lowhead_en {
  letter-spacing: 3.5px;
}
.contact .form-contents {
  padding: 3.9% 16.7% 16.7%;
}
@media screen and (max-width: 750px) {
  .contact .form-contents {
    padding: 5.4% 4% 13.2%;
  }
}
.contact .form-contents .unit {
  padding-top: 55px;
}
@media screen and (max-width: 750px) {
  .contact .form-contents .unit {
    padding-top: 6.4%;
  }
}
.contact .form-contents .unit_name {
  padding-bottom: 6px;
}
.contact .form-contents .unit_name .input-name {
  font-size: 16px;
  letter-spacing: 4px;
}
.contact .form-contents .unit .input-parts {
  width: 100%;
  position: relative;
}
.contact .form-contents .unit .input-parts + .error-area {
  display: none;
  color: #ff0000;
  margin-top: 5px;
  font-size: 16px;
}
.contact .form-contents .unit .input-parts:before, .contact .form-contents .unit .input-parts:after {
  content: "✔";
  display: none;
  color: #0075ff;
  width: -moz-fit-content;
  width: fit-content;
  height: 30px;
  font-weight: bold;
  font-size: 30px;
  position: absolute;
  right: 10px;
  top: 0px;
  bottom: 0;
  margin: auto 0;
  line-height: 1;
}
.contact .form-contents .unit .input-parts:after {
  display: none;
  content: "⚠";
  color: red;
}
.contact .form-contents .unit .input-parts.valid:before {
  display: block;
}
.contact .form-contents .unit .input-parts.invalid:after {
  display: block;
}
.contact .form-contents .unit .input-parts.invalid + .error-area {
  display: block;
}
.contact .form-contents .unit .input-parts .input, .contact .form-contents .unit .input-parts .select {
  width: 100%;
  padding: 15px;
}
.contact .form-contents .unit .input-parts .textarea {
  width: 100%;
  height: 300px;
  padding: 10px;
}
.contact .form-contents .unit .input-parts + .error-area {
  display: none;
  color: #ff0000;
  margin-top: 5px;
  font-size: 16px;
}
.contact .form-contents .unit .error-area {
  display: none;
  color: #ff0000;
  margin-top: 5px;
  font-size: 16px;
  position: relative;
}
.contact .form-contents .unit .error-area.valid .error-message {
  display: none;
}
.contact .form-contents .unit .error-area.invalid .error-message {
  display: block;
}
.contact .form-contents .unit .input-parts .input {
  width: 100%;
  height: 86px;
  box-sizing: border-box;
  padding: 10px;
}
.contact .form-contents .unit.last-child .unit_name {
  padding-bottom: 10px;
  padding-bottom: 14px;
}
.contact .form-contents .unit.last-child .textarea {
  width: 100%;
  height: 200px;
  box-sizing: border-box;
  padding: 10px;
  line-height: 1.2;
  resize: none;
}
.contact .form-contents .caution {
  font-size: 16px;
  letter-spacing: 3.8px;
}
.contact .form-contents .p-check {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 63px;
  padding-bottom: 53px;
}
@media screen and (max-width: 750px) {
  .contact .form-contents .p-check {
    padding-top: 6.5%;
    padding-bottom: 13.5%;
  }
}
.contact .form-contents .p-check_box {
  width: 20px;
  height: 20px;
  margin: 0;
}
.contact .form-contents .p-check_desc {
  font-size: 16px;
  padding-left: 10px;
  letter-spacing: 2px;
}
.contact .form-contents .p-check_link {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 7px;
}
.contact .form-contents .form-btn {
  display: flex;
  justify-content: center;
}
.contact .form-contents .form-btn_link {
  width: 62.5%;
  height: clamp(5.625rem, 3.542rem + 4.44vw, 6.875rem);
  color: #000000;
  background-color: #ffffff;
  border: solid 1px #000000;
  transition: background-color 0.5s ease;
  border-radius: 60px;
}
@media screen and (max-width: 750px) {
  .contact .form-contents .form-btn_link {
    width: 73%;
    height: clamp(4.375rem, 2.078rem + 10.5vw, 7rem);
  }
}
.contact .form-contents .form-btn_link:hover {
  color: #ffffff;
  background-color: #000000;
}
.contact .form-contents .form-btn_p {
  display: flex;
  justify-content: center;
  gap: 30px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .contact .form-contents .form-btn_p {
    font-size: clamp(0.75rem, 0.094rem + 3vw, 1.5rem);
  }
}/*# sourceMappingURL=style.css.map */