@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Montserrat:wght@100..900&display=swap");
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit; }

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  padding: 0;
  margin: 0; }

hr {
  overflow: visible;
  height: 0;
  color: inherit; }

details, main {
  display: block; }

summary {
  display: list-item; }

small {
  font-size: 80%; }

[hidden] {
  display: none; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

a {
  background-color: transparent; }

a:active, a:hover {
  outline-width: 0; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

pre {
  font-size: 1em; }

b, strong {
  font-weight: bolder; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

table {
  border-color: inherit;
  text-indent: 0; }

input {
  border-radius: 0; }

[disabled] {
  cursor: default; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  resize: vertical; }

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

optgroup {
  font-weight: 700; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none; }

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit; }

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

[aria-busy=true] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled=true] {
  cursor: default; }

* {
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  background: #F8F8F8;
  font-family: "M PLUS 1", sans-serif;
  font-size: clamp(1.4rem, calc(1.328rem + 0.23vw), 1.6rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 2em;
  color: #474645;
  -webkit-text-size-adjust: 100%; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: #474645;
  text-decoration: none;
  transition: .3s;
  font-weight: 400; }
  a:hover {
    transition: .3s;
    text-decoration: none; }
  a img {
    transition: .3s; }
    a img:hover {
      opacity: .7;
      transition: .3s; }

li {
  list-style: none; }

.flb_sb, header, .bread li a, .grd-box a {
  display: flex;
  justify-content: space-between; }

.flb_ct, .gnav, footer .inner .right ul, footer .bread .right ul {
  display: flex;
  justify-content: center; }

.flb_st, .bread, .pagenation, .pagenation li a, .topbtns li a, .topbtns li a span, .grd-box a span, .aws .inbox.pt h3, .ai .inbox.pt h3, .reason dl dt, .outline dl, .access .flb .txt dl dt {
  display: flex;
  justify-content: flex-start; }

.flb_ed, header .menubtn {
  display: flex;
  justify-content: flex-end; }

.sp {
  display: block; }
  @media screen and (min-width: 701px) {
    .sp {
      display: none; } }

.sptab {
  display: block; }
  @media screen and (min-width: 961px) {
    .sptab {
      display: none; } }

.tab {
  display: none; }
  @media screen and (min-width: 701px) {
    .tab {
      display: block; } }
  @media screen and (min-width: 961px) {
    .tab {
      display: none; } }

.tabpc {
  display: none; }
  @media screen and (min-width: 701px) {
    .tabpc {
      display: block; } }

.pc {
  display: none; }
  @media screen and (min-width: 961px) {
    .pc {
      display: block; } }

.inner, .bread {
  width: calc(100% - 4.8rem);
  margin: auto; }
  @media screen and (min-width: 701px) {
    .inner, .bread {
      width: min(calc(100% - 8rem), 132rem); } }

.fadeIn {
  opacity: 0;
  transition: 3s; }
  .fadeIn.is-show {
    opacity: 1; }

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 2s; }
  .fadeIn_up.is-show {
    transform: translate(0, 0);
    opacity: 1; }

.fadeIn_left {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 2s; }
  .fadeIn_left.is-show {
    transform: translate(0, 0);
    opacity: 1; }

.fadeIn_right {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 2s; }
  .fadeIn_right.is-show {
    transform: translate(0, 0);
    opacity: 1; }

/* ヘッダー */
header {
  width: 100%;
  height: 6.2rem;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0 1.6rem 1.4rem;
  align-items: flex-end;
  z-index: 999; }
  @media screen and (min-width: 701px) {
    header {
      height: 9.3rem;
      padding: 0 min(3%, 5.6rem) 2.1rem; } }
  @media screen and (min-width: 961px) {
    header {
      height: 12.4rem;
      padding: 0 min(3%, 5.6rem) 3rem; } }
  header.fixed::before {
    opacity: 1;
    transition: 1s; }
  header::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 0 3.2rem 3.2rem;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: .5s;
    opacity: 0; }
  header::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.3rem;
    background: linear-gradient(90deg, #FFA2C6, #FFD179);
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (min-width: 701px) {
      header::after {
        height: 0.6rem; } }
  header .logo {
    display: block;
    width: 15.4rem; }
    @media screen and (min-width: 701px) {
      header .logo {
        width: clamp(22rem, 18.75%, 27.9rem); } }
    header .logo img {
      display: block; }
  header .menubtn {
    align-items: center;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(1.2rem, calc(0.908rem + 0.91vw), 2rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 0.6rem;
    cursor: pointer; }
    @media screen and (min-width: 701px) {
      header .menubtn {
        margin-bottom: 1.2rem; } }
    header .menubtn::before {
      content: "";
      display: block;
      width: 1.7rem;
      aspect-ratio: 17 / 3;
      background: url("/wp-content/themes/kaikou/images/common/dot.svg") center center no-repeat;
      background-size: 100% auto;
      margin-right: 1.2rem; }
    header .menubtn::after {
      content: "MENU"; }
    header .menubtn.close::after {
      content: "CLOSE"; }

/* グローバルナビ */
.gnav {
  width: clamp(30rem, 80%, 40rem);
  height: 100dvh;
  background: #fff;
  border-radius: 0 0 0 3.2rem;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 998;
  align-items: center;
  flex-direction: column;
  transform: translateX(100%);
  transition: .5s; }
  .gnav.active {
    transition: .5s;
    transform: translateX(0); }
  .gnav ul {
    display: inline-block; }
    .gnav ul li {
      font-size: 2.2rem;
      font-weight: 500;
      margin-bottom: 5rem; }
      @media screen and (min-width: 701px) {
        .gnav ul li {
          margin-bottom: 4rem; } }
      .gnav ul li:last-child {
        margin-bottom: 0;
        padding-top: 1rem;
        font-size: 1.2rem;
        font-weight: 400; }
  .gnav p {
    font-size: 1rem;
    position: absolute;
    left: 4.4rem;
    bottom: 4rem; }
    @media screen and (min-width: 701px) {
      .gnav p {
        left: auto;
        right: 5.6rem; } }

/* フッター */
footer {
  padding-top: 14rem;
  padding-bottom: 8rem;
  position: relative;
  background: url("/wp-content/themes/kaikou/images/common/footer-bg-sp.webp") center top no-repeat;
  background-size: cover;
  z-index: 5;
  text-align: center; }
  @media screen and (min-width: 701px) {
    footer {
      background: url("/wp-content/themes/kaikou/images/common/footer-bg.webp") center top no-repeat;
      background-size: cover;
      padding-top: 26rem;
      text-align: left; } }
  @media screen and (min-width: 961px) {
    footer {
      padding-top: 35rem; } }
  @media screen and (min-width: 701px) {
    footer .inner, footer .bread {
      display: flex;
      justify-content: space-between; } }
  footer .inner p, footer .bread p, footer .inner li, footer .bread li, footer .inner a, footer .bread a {
    color: #fff;
    line-height: 2em; }
    @media screen and (min-width: 701px) {
      footer .inner p, footer .bread p, footer .inner li, footer .bread li, footer .inner a, footer .bread a {
        line-height: 1.8em; } }
  footer .inner .left h2, footer .bread .left h2 {
    width: 13.8rem;
    padding-bottom: 3.2rem;
    margin: auto; }
    @media screen and (min-width: 701px) {
      footer .inner .left h2, footer .bread .left h2 {
        width: 15.7rem;
        padding-bottom: 4.5rem;
        margin: 0; } }
    footer .inner .left h2 img, footer .bread .left h2 img {
      display: block; }
  footer .inner .right, footer .bread .right {
    padding-top: 4rem; }
    @media screen and (min-width: 701px) {
      footer .inner .right, footer .bread .right {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        flex-direction: column;
        padding-top: 6rem; } }
    @media screen and (min-width: 701px) {
      footer .inner .right ul, footer .bread .right ul {
        justify-content: flex-end; } }
    footer .inner .right ul li, footer .bread .right ul li {
      display: block;
      margin-left: 2.4rem; }
      footer .inner .right ul li:first-child, footer .bread .right ul li:first-child {
        margin-left: 0; }
    footer .inner .right ul:nth-of-type(1) li a, footer .bread .right ul:nth-of-type(1) li a {
      font-weight: 500; }
    footer .inner .right ul:nth-of-type(2), footer .bread .right ul:nth-of-type(2) {
      padding-top: 3.2rem;
      padding-bottom: 4rem; }
      @media screen and (min-width: 701px) {
        footer .inner .right ul:nth-of-type(2), footer .bread .right ul:nth-of-type(2) {
          padding: 3rem 0; } }
      footer .inner .right ul:nth-of-type(2) li, footer .bread .right ul:nth-of-type(2) li {
        font-size: clamp(1.2rem, calc(1.128rem + 0.23vw), 1.4rem); }
    footer .inner .right .copy, footer .bread .right .copy {
      font-size: 1rem;
      margin-top: auto; }

/* コンテンツ */
main {
  position: relative;
  z-index: 1; }
  main::before {
    content: "";
    display: block;
    width: 100%;
    height: 90rem;
    background: linear-gradient(#FFF9EA, #F8F8F8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }

/* ページ */
.pagettl {
  padding-top: 9.1rem; }
  @media screen and (min-width: 701px) {
    .pagettl {
      padding-top: 14rem; } }
  @media screen and (min-width: 961px) {
    .pagettl {
      padding-top: 19.3rem; } }
  .pagettl h1 {
    padding-bottom: 4rem; }
    @media screen and (min-width: 701px) {
      .pagettl h1 {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        padding-bottom: 8rem; } }
    @media screen and (min-width: 961px) {
      .pagettl h1 {
        padding-bottom: 11.3rem; } }
    .pagettl h1 b, .pagettl h1 span {
      display: block; }
    .pagettl h1 b {
      font-family: "Montserrat", sans-serif;
      font-size: clamp(4rem, calc(2.836rem + 3.64vw), 7.2rem);
      font-weight: 600;
      line-height: 0.86em;
      letter-spacing: 0;
      background: linear-gradient(90deg, #FF9BC2, #FFCD98);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 2.8rem; }
      @media screen and (min-width: 701px) {
        .pagettl h1 b {
          margin-bottom: 0;
          margin-right: 2.4rem; } }
    .pagettl h1 span {
      color: #474645;
      font-size: 1.4rem;
      font-weight: 500; }

.bg {
  position: relative;
  z-index: 1;
  padding-top: 8rem;
  padding-bottom: 6.4rem;
  margin-bottom: 6.4rem; }
  @media screen and (min-width: 701px) {
    .bg {
      padding-top: 10rem;
      padding-bottom: 8.2rem; } }
  @media screen and (min-width: 961px) {
    .bg {
      padding-top: 12rem;
      padding-bottom: 14rem; } }
  .bg::before {
    content: "";
    display: block;
    width: calc(100% - 1rem);
    height: 100%;
    background: #fff;
    border-radius: 0 4rem 4rem 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    @media screen and (min-width: 701px) {
      .bg::before {
        width: calc(100% - 4.8rem); } }
    @media screen and (min-width: 961px) {
      .bg::before {
        width: calc(100% - 6.4rem); } }
    @media screen and (min-width: 1401px) {
      .bg::before {
        width: calc(100% - 14rem); } }
  @media screen and (min-width: 701px) {
    .bg .inner, .bg .bread {
      padding-right: 7rem; } }
  @media screen and (min-width: 961px) {
    .bg .inner, .bg .bread {
      padding-right: 14rem; } }

.bread {
  align-items: center; }
  .bread li {
    display: block;
    font-size: clamp(1.2rem, calc(1.128rem + 0.23vw), 1.4rem);
    font-weight: 400; }
    .bread li a {
      align-items: center; }
      .bread li a.home::before {
        content: "";
        display: block;
        width: 1.7rem;
        aspect-ratio: 17 / 16;
        background: url("/wp-content/themes/kaikou/images/common/home.svg") center center no-repeat;
        background-size: 100% auto; }
      .bread li a::after {
        content: "";
        display: block;
        width: 1.6rem;
        height: 2px;
        background: linear-gradient(90deg, #FFA2C6, #FFD179);
        margin: 0 1.6rem;
        border-radius: 10rem; }
        @media screen and (min-width: 701px) {
          .bread li a::after {
            width: 2.4rem;
            margin: 0 2.4rem; } }

.pagenation {
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 4rem; }
  @media screen and (min-width: 701px) {
    .pagenation {
      padding-bottom: 3.4rem; } }
  .pagenation li {
    display: block;
    font-size: clamp(1.2rem, calc(1.054rem + 0.45vw), 1.6rem); }
    .pagenation li a {
      align-items: center; }
      .pagenation li a::before {
        content: "";
        display: block;
        width: 1px;
        height: 1.6rem;
        background: #57585A;
        opacity: .4;
        margin: 0 1.6rem;
        order: 1; }
        @media screen and (min-width: 701px) {
          .pagenation li a::before {
            margin: 0 2.4rem;
            height: 2rem; } }
      .pagenation li a::after {
        content: "";
        display: block;
        width: 1.1rem;
        aspect-ratio: 12 / 13;
        background: url("/wp-content/themes/kaikou/images/common/arrow.svg") center center no-repeat;
        background-size: 100% auto;
        margin-left: 1.2rem; }
        @media screen and (min-width: 701px) {
          .pagenation li a::after {
            width: 1.2rem; } }
    .pagenation li:last-child a::before {
      content: none; }

.pagesub, .privacy dl dt {
  display: inline-block;
  align-items: center;
  font-size: clamp(2.4rem, calc(2.108rem + 0.91vw), 3.2rem);
  font-weight: 500;
  line-height: 1.5em;
  background: linear-gradient(90deg, #FF9BC2, #FFCD98);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  padding-left: 2.2rem; }
  @media screen and (min-width: 1081px) {
    .pagesub, .privacy dl dt {
      margin-left: -3.2rem;
      padding-left: 3.2rem; } }
  .pagesub::before, .privacy dl dt::before {
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: #EB70A0;
    position: absolute;
    top: .7em;
    left: 0;
    margin: auto; }
    @media screen and (min-width: 701px) {
      .pagesub::before, .privacy dl dt::before {
        width: 0.8rem;
        height: 0.8rem; } }

/* トップページ */
.mv {
  position: relative;
  z-index: 5;
  margin-bottom: 6.2rem; }
  @media screen and (min-width: 701px) {
    .mv {
      margin-bottom: 0; } }
  .mv::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 375 / 604;
    background: url("/wp-content/themes/kaikou/images/top/mv_sp.webp") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (min-width: 701px) {
      .mv::before {
        position: relative;
        aspect-ratio: 1600 / 797;
        background: url("/wp-content/themes/kaikou/images/top/mv.webp") center center no-repeat;
        background-size: 100% auto; } }
  @media screen and (min-width: 701px) {
    .mv::after {
      content: "";
      display: block;
      width: 30%;
      height: 8rem;
      background: #fff;
      position: absolute;
      right: 5em;
      bottom: 0;
      border-radius: 0 4rem 0 0; } }
  @media screen and (min-width: 1201px) {
    .mv::after {
      right: 18.4rem; } }
  .mv .inner, .mv .bread {
    z-index: 1;
    text-align: center;
    padding-top: 114vw;
    position: relative; }
    @media screen and (min-width: 701px) {
      .mv .inner, .mv .bread {
        padding-top: 0;
        position: absolute;
        top: 27vw;
        left: 50%;
        transform: translateX(-50%);
        width: 69.75%; } }
  .mv h1 {
    color: #fff;
    font-size: clamp(2rem, calc(1.817rem + 1.82vw), 4rem);
    font-weight: 500;
    line-height: 1.7em;
    text-align: left;
    margin-bottom: 12.3rem; }
    @media screen and (min-width: 701px) {
      .mv h1 {
        margin-bottom: 0;
        text-indent: -.7em; } }
  .mv .scroll {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.08em; }

.top {
  position: relative;
  overflow: hidden; }
  .top::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 243 / 1279;
    background: url("/wp-content/themes/kaikou/images/top/line_sp.webp") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 180vw;
    left: 0;
    z-index: 10;
    pointer-events: none;
    clip-path: inset(0 0 var(--clip-val, 90%) 0);
    transition: none; }
    @media screen and (min-width: 451px) {
      .top::before {
        top: 170vw; } }
    @media screen and (min-width: 701px) {
      .top::before {
        width: min(106%, 178.8rem);
        top: 47vw;
        left: 50%;
        transform: translateX(-51.5%);
        aspect-ratio: 851 / 1033;
        background: url("/wp-content/themes/kaikou/images/top/line.svg") center center no-repeat;
        background-size: 100% auto; } }
    @media screen and (min-width: 961px) {
      .top::before {
        top: 44vw; } }
    @media screen and (min-width: 1081px) {
      .top::before {
        top: 42vw; } }
    @media screen and (min-width: 1401px) {
      .top::before {
        top: 40vw; } }
  .top .bg {
    padding-top: 10rem; }
    @media screen and (min-width: 701px) {
      .top .bg {
        margin-top: -8rem;
        padding-top: 13.4rem; } }
    @media screen and (min-width: 961px) {
      .top .bg {
        padding-top: 20rem; } }
  .top h3 {
    font-size: clamp(1.8rem, calc(1.58rem + 0.68vw), 2.4rem);
    font-weight: 500;
    line-height: 2em; }

.btnmore {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  position: relative;
  padding-bottom: .8rem; }
  .btnmore::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #474645;
    position: absolute;
    top: 100%;
    left: 0;
    transform-origin: left;
    transform: scaleX(1);
    transition: transform 0.3s ease; }
  .btnmore::after {
    content: "";
    display: inline-block;
    width: 1.6rem;
    aspect-ratio: 1 / 1;
    background: url("/wp-content/themes/kaikou/images/top/arrow.svg") center center no-repeat;
    background-size: 100% auto;
    margin-left: 1rem;
    vertical-align: -2px;
    transition: .3s; }
  .btnmore:hover::before {
    transform: scaleX(0);
    transform-origin: right; }
  .btnmore:hover::after {
    transform: translateX(5px); }

.topabout {
  padding-bottom: 12rem; }
  @media screen and (min-width: 701px) {
    .topabout {
      padding-bottom: 15rem; } }
  @media screen and (min-width: 961px) {
    .topabout {
      padding-bottom: 21rem; } }
  .topabout .pagesub, .topabout .privacy dl dt, .privacy dl .topabout dt {
    margin-bottom: 4.6rem; }
    @media screen and (min-width: 701px) {
      .topabout .pagesub, .topabout .privacy dl dt, .privacy dl .topabout dt {
        margin-bottom: 5.4rem; } }
    @media screen and (min-width: 961px) {
      .topabout .pagesub, .topabout .privacy dl dt, .privacy dl .topabout dt {
        margin-bottom: 6.4rem; } }
  .topabout h3 {
    padding-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .topabout h3 {
        padding-bottom: 4rem; } }
    @media screen and (min-width: 961px) {
      .topabout h3 {
        padding-bottom: 4.8rem; } }
  .topabout p {
    font-size: clamp(1.4rem, calc(1.254rem + 0.45vw), 1.8rem);
    line-height: 1.8em; }
    @media screen and (min-width: 701px) {
      .topabout p {
        line-height: 2.66em; } }
  .topabout .btnmore {
    margin-top: 3.2rem; }
    @media screen and (min-width: 701px) {
      .topabout .btnmore {
        margin-top: 4.8rem; } }
    @media screen and (min-width: 961px) {
      .topabout .btnmore {
        margin-top: 5.7rem; } }

@media screen and (min-width: 961px) {
  .topbusiness {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse; } }
.topbusiness figure {
  display: block;
  width: 90%;
  margin: auto; }
  @media screen and (min-width: 701px) {
    .topbusiness figure {
      width: 70%; } }
  @media screen and (min-width: 961px) {
    .topbusiness figure {
      width: 43.68%;
      margin: 0; } }
  .topbusiness figure img {
    display: block; }
.topbusiness .txt {
  padding-bottom: 3.2rem; }
  @media screen and (min-width: 961px) {
    .topbusiness .txt {
      width: 50%;
      padding-bottom: 0; } }
.topbusiness .pagesub, .topbusiness .privacy dl dt, .privacy dl .topbusiness dt {
  margin-bottom: 4.2rem;
  margin-left: 0; }
  @media screen and (min-width: 701px) {
    .topbusiness .pagesub, .topbusiness .privacy dl dt, .privacy dl .topbusiness dt {
      margin-bottom: 5.4rem; } }
  @media screen and (min-width: 961px) {
    .topbusiness .pagesub, .topbusiness .privacy dl dt, .privacy dl .topbusiness dt {
      margin-bottom: 6.3rem; } }
.topbusiness h3 {
  padding-bottom: 3.2rem; }
  @media screen and (min-width: 961px) {
    .topbusiness h3 {
      padding-bottom: 4.4rem; } }
.topbusiness p {
  line-height: 1.8em; }
.topbusiness .btnmore {
  margin-top: 3.2rem; }
  @media screen and (min-width: 701px) {
    .topbusiness .btnmore {
      margin-top: 5.4rem; } }
  @media screen and (min-width: 961px) {
    .topbusiness .btnmore {
      margin-top: 6.4rem; } }

.topbtns {
  width: min(calc(100% - 4.8rem), 102.4rem);
  margin: 6.4rem auto 13rem; }
  @media screen and (min-width: 701px) {
    .topbtns {
      margin: 8rem auto;
      display: flex;
      justify-content: space-between; } }
  .topbtns li {
    display: block;
    margin-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .topbtns li {
        width: 48%;
        margin-bottom: 0; } }
    @media screen and (min-width: 961px) {
      .topbtns li {
        width: 46.875%; } }
    .topbtns li:last-child {
      margin-bottom: 0; }
    .topbtns li a {
      align-items: center;
      width: 100%;
      height: 10rem;
      border-radius: 2.4rem;
      overflow: hidden;
      padding-left: 3.2rem;
      font-family: "Montserrat", sans-serif;
      font-size: clamp(2.4rem, calc(2.328rem + 0.23vw), 2.6rem);
      font-weight: 600;
      letter-spacing: 0;
      position: relative; }
      @media screen and (min-width: 701px) {
        .topbtns li a {
          height: 12rem;
          border-radius: 3.2rem;
          padding-left: 4rem; } }
      .topbtns li a::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0; }
      .topbtns li a::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto; }
      .topbtns li a span {
        position: relative;
        align-items: center; }
        .topbtns li a span::after {
          content: "";
          display: block;
          width: 1.6rem;
          aspect-ratio: 1 / 1;
          background: url("/wp-content/themes/kaikou/images/top/arrow.svg") center center no-repeat;
          background-size: 100% auto;
          margin-left: 2.4rem;
          transition: .3s; }
      .topbtns li a:hover::before {
        transition: .3s;
        opacity: 1; }
      .topbtns li a:hover span::after {
        transition: .3s;
        transform: translateX(0.5rem); }
    .topbtns li:first-child a {
      background: linear-gradient(135deg, #FEE8E3, #FFF1D3); }
      .topbtns li:first-child a::before {
        background: linear-gradient(135deg, #FFF1D3, #FEE8E3); }
      .topbtns li:first-child a::after {
        width: 6.4rem;
        aspect-ratio: 96 / 101;
        background: url("/wp-content/themes/kaikou/images/top/building.webp") center center no-repeat;
        background-size: 100% auto;
        right: 1.8rem; }
        @media screen and (min-width: 701px) {
          .topbtns li:first-child a::after {
            width: 9.6rem;
            right: 2.8rem; } }
    .topbtns li:last-child a {
      background: linear-gradient(135deg, #FEE8E3, #FFF1D3); }
      .topbtns li:last-child a::before {
        background: linear-gradient(135deg, #FFF1D3, #FEE8E3); }
      .topbtns li:last-child a::after {
        width: 5.8rem;
        aspect-ratio: 1 / 1;
        background: url("/wp-content/themes/kaikou/images/top/mail.webp") center center no-repeat;
        background-size: 100% auto;
        right: 2rem; }
        @media screen and (min-width: 701px) {
          .topbtns li:last-child a::after {
            width: 7rem;
            right: 4rem; } }

/* 私たちについて */
.about {
  position: relative; }
  .about .bg {
    padding-top: 14rem; }
    @media screen and (min-width: 961px) {
      .about .bg {
        padding-top: 12vw; } }
  .about .line1, .about .line2, .about .line3 {
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 10;
    pointer-events: none;
    opacity: 0;
    transition: 2s; }
    .about .line1.is-show, .about .line2.is-show, .about .line3.is-show {
      opacity: 1;
      clip-path: inset(0 0 0 0);
      transition: 2s; }
  .about .line1, .about .line3 {
    content: ""; }
  @media screen and (min-width: 701px) {
    .about .line2 {
      content: ""; } }
  .about .line1, .about .line2 {
    clip-path: inset(0 100% 0 0); }
    .about .line1.is-show, .about .line2.is-show {
      transition-delay: 0.1s; }
  .about .line1 {
    top: 1.7rem;
    aspect-ratio: 749 / 367;
    background: url("/wp-content/themes/kaikou/images/about/line1_sp.webp") center center no-repeat;
    background-size: 100% auto; }
    @media screen and (min-width: 701px) {
      .about .line1 {
        top: 0;
        aspect-ratio: 533 / 240;
        background: url("/wp-content/themes/kaikou/images/about/line1.webp") center center no-repeat;
        background-size: 100% auto; } }
  .about .line2 {
    top: 50%;
    aspect-ratio: 533 / 151;
    background: url("/wp-content/themes/kaikou/images/about/line2.webp") center center no-repeat;
    background-size: 100% auto; }
  .about .line3 {
    bottom: -3%;
    aspect-ratio: 749 / 181;
    background: url("/wp-content/themes/kaikou/images/about/line3_sp.webp") center center no-repeat;
    background-size: 100% auto;
    clip-path: inset(0 0 100% 0); }
    @media screen and (min-width: 701px) {
      .about .line3 {
        bottom: -1%;
        aspect-ratio: 3197 / 2684;
        background: url("/wp-content/themes/kaikou/images/about/line3.webp") center center no-repeat;
        background-size: 100% auto; } }
    @media screen and (min-width: 701px) {
      .about .line3.is-show {
        transition-delay: 2s; } }

.about-box {
  padding-bottom: 5.6rem;
  margin-bottom: 5.6rem;
  position: relative; }
  @media screen and (min-width: 701px) {
    .about-box {
      padding: 0 3.2rem 8rem;
      margin-bottom: 8rem; } }
  @media screen and (min-width: 961px) {
    .about-box {
      padding-bottom: 12.3rem;
      margin-bottom: 13rem; } }
  .about-box::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #FFA2C6, #FFD179);
    position: absolute;
    left: 0;
    bottom: 0; }
  .about-box .pagesub, .about-box .privacy dl dt, .privacy dl .about-box dt {
    margin-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .about-box .pagesub, .about-box .privacy dl dt, .privacy dl .about-box dt {
        margin-bottom: 4rem; } }
  .about-box .ttl {
    padding-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .about-box .ttl {
        padding-bottom: 3.4rem;
        margin-left: -2.4rem; } }
    .about-box .ttl h3 {
      font-size: clamp(1.8rem, calc(1.291rem + 1.59vw), 3.2rem);
      font-weight: 500;
      display: inline;
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone;
      background: linear-gradient(135deg, #FEE8E3, #FFF1D3);
      border-radius: 0.8rem;
      padding: 1rem 2rem;
      line-height: 2.8em; }
      @media screen and (min-width: 701px) {
        .about-box .ttl h3 {
          padding: 1rem 2.4rem;
          border-radius: 1.6rem; } }
  .about-box p {
    line-height: 1.8em; }

.philosophy {
  width: min(100%, 70rem); }

.guideline {
  padding-top: 0.4rem; }
  @media screen and (min-width: 701px) {
    .guideline {
      padding-top: 1.1rem; } }
  @media screen and (min-width: 961px) {
    .guideline {
      padding-top: 2.2rem; } }
  .guideline li {
    position: relative;
    font-size: clamp(1.8rem, calc(1.582rem + 0.68vw), 2.4rem);
    font-weight: 500;
    line-height: 2em;
    margin-bottom: 2.4rem;
    padding-left: 3.2rem; }
    @media screen and (min-width: 701px) {
      .guideline li {
        margin-bottom: 2.8rem; } }
    @media screen and (min-width: 961px) {
      .guideline li {
        margin-bottom: 3.5rem; } }
    .guideline li:last-child {
      margin-bottom: 0; }
    .guideline li::before {
      content: "";
      display: block;
      width: 1.6rem;
      height: .4rem;
      background: linear-gradient(90deg, #FFA2C6, #FFD179);
      border-radius: 10rem;
      position: absolute;
      left: 0;
      top: 1em; }

@media screen and (min-width: 701px) {
  .origin {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; } }
.origin figure {
  width: 23rem;
  margin-bottom: 2.4rem; }
  @media screen and (min-width: 701px) {
    .origin figure {
      margin-bottom: 0; } }
  @media screen and (min-width: 961px) {
    .origin figure {
      width: 30rem; } }
@media screen and (min-width: 701px) {
  .origin .txt {
    width: min(calc(100% - 25rem), 57rem); } }
@media screen and (min-width: 961px) {
  .origin .txt {
    width: min(calc(100% - 32rem), 57rem); } }
.origin .txt p {
  font-size: 1.4rem; }
  .origin .txt p.pb {
    padding-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .origin .txt p.pb {
        padding-bottom: 2rem; } }
    @media screen and (min-width: 961px) {
      .origin .txt p.pb {
        padding-bottom: 2.4rem; } }

.quot {
  background: linear-gradient(90deg, #FFECF4, #FFF6E5);
  padding: 1.8rem 2.4rem;
  border-radius: 1.2rem;
  position: relative;
  margin: 2.4rem 0; }
  @media screen and (min-width: 701px) {
    .quot {
      width: calc(100% + 6.8rem);
      padding: 2.4rem 3.4rem;
      border-radius: 2.4rem;
      margin-left: -3.4rem; } }
  .quot::before, .quot::after {
    content: "";
    display: block;
    position: absolute;
    width: 1.4rem;
    aspect-ratio: 7 / 5;
    background: url("/wp-content/themes/kaikou/images/about/quat.svg") center center no-repeat;
    background-size: 100% auto; }
  .quot::before {
    top: 2.2rem;
    left: .5rem; }
    @media screen and (min-width: 701px) {
      .quot::before {
        top: 3.1rem;
        left: 1rem; } }
  .quot::after {
    right: .5rem;
    bottom: 2.2rem;
    transform: scale(-1, -1); }
    @media screen and (min-width: 701px) {
      .quot::after {
        right: 1rem;
        bottom: 3.1rem; } }

@media screen and (min-width: 701px) {
  .message {
    padding: 0 3.2rem; } }
.message .pagesub, .message .privacy dl dt, .privacy dl .message dt {
  margin-bottom: 3.8rem; }
  @media screen and (min-width: 701px) {
    .message .pagesub, .message .privacy dl dt, .privacy dl .message dt {
      margin-bottom: 4.2rem; } }
  @media screen and (min-width: 961px) {
    .message .pagesub, .message .privacy dl dt, .privacy dl .message dt {
      margin-bottom: 5.6rem; } }
.message p.pb {
  padding-bottom: 1.6rem; }
  @media screen and (min-width: 701px) {
    .message p.pb {
      padding-bottom: 2.4rem; } }
  @media screen and (min-width: 961px) {
    .message p.pb {
      padding-bottom: 3.2rem; } }
.message dl {
  text-align: right;
  padding-top: 3.2rem; }
  @media screen and (min-width: 701px) {
    .message dl {
      padding-top: 4.6rem; } }
  @media screen and (min-width: 961px) {
    .message dl {
      padding-top: 5.3rem; } }
  .message dl dt {
    font-weight: 500;
    padding-bottom: 1.8rem; }
  .message dl dd {
    font-size: 2.4rem;
    font-weight: 500; }

/* 事業紹介 */
.g-box {
  background: #F8F8F8;
  border-radius: 2.4rem;
  padding: 3.2rem 2.4rem; }
  @media screen and (min-width: 701px) {
    .g-box {
      padding: 4rem 7.2rem 4.8rem 6.4rem; } }
  .g-box dt {
    font-size: clamp(1.6rem, calc(1.528rem + 0.23vw), 1.8rem);
    font-weight: 500;
    padding-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .g-box dt {
        padding-bottom: 3.2rem; } }
  .g-box dd {
    line-height: 2em; }
    .g-box dd b {
      font-weight: 500;
      color: #EB70A0; }

.grd-box {
  background: linear-gradient(90deg, #FFECF4, #FFF6E5);
  border-radius: 2.4rem;
  padding: 2.4rem;
  text-align: center; }
  @media screen and (min-width: 701px) {
    .grd-box {
      padding: 3.2rem; } }
  @media screen and (min-width: 961px) {
    .grd-box {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 6.4rem;
      text-align: left; } }
  .grd-box p {
    display: block;
    font-size: clamp(1.6rem, calc(1.308rem + 0.91vw), 2.4rem);
    font-weight: 500;
    line-height: 2em;
    padding-bottom: 2.4rem; }
    @media screen and (min-width: 961px) {
      .grd-box p {
        width: calc(100% - 40rem);
        padding-bottom: 0; } }
    .grd-box p span {
      display: block;
      font-size: clamp(1.4rem, calc(1.328rem + 0.23vw), 1.6rem);
      line-height: 2em;
      margin-top: 4rem;
      font-weight: 400; }
  .grd-box a {
    width: 100%;
    padding: 2.4rem;
    align-items: center;
    border-radius: 2.4rem;
    background: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(2rem, calc(1.782rem + 0.68vw), 2.6rem);
    font-weight: 600;
    letter-spacing: 0; }
    @media screen and (min-width: 701px) {
      .grd-box a {
        width: 40rem;
        padding: 2rem 4rem;
        border-radius: 3.2rem;
        margin: auto; } }
    @media screen and (min-width: 961px) {
      .grd-box a {
        margin: 0; } }
    .grd-box a::after {
      content: "";
      display: block;
      width: 6rem;
      aspect-ratio: 1 / 1;
      background: url("/wp-content/themes/kaikou/images/top/mail.webp") center center no-repeat;
      background-size: 100% auto; }
      @media screen and (min-width: 701px) {
        .grd-box a::after {
          width: 7rem; } }
    .grd-box a span {
      position: relative;
      align-items: center; }
      .grd-box a span::after {
        content: "";
        display: block;
        width: 1.6rem;
        aspect-ratio: 1 / 1;
        background: url("/wp-content/themes/kaikou/images/top/arrow.svg") center center no-repeat;
        background-size: 100% auto;
        margin-left: 1.6rem;
        transition: .3s; }
        @media screen and (min-width: 701px) {
          .grd-box a span::after {
            margin-left: 2.4rem; } }

.aws {
  position: relative;
  padding-bottom: 5.6rem;
  margin-bottom: 5.6rem; }
  @media screen and (min-width: 701px) {
    .aws {
      padding-bottom: 8rem;
      margin-bottom: 8rem; } }
  @media screen and (min-width: 961px) {
    .aws {
      padding-bottom: 12rem;
      margin-bottom: 12rem; } }
  .aws::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #FFA2C6, #FFD179);
    position: absolute;
    left: 0;
    bottom: 0; }
  .aws .pagesub, .aws .privacy dl dt, .privacy dl .aws dt {
    margin-left: 0;
    margin-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .aws .pagesub, .aws .privacy dl dt, .privacy dl .aws dt {
        margin-bottom: 4.8rem; } }
    @media screen and (min-width: 961px) {
      .aws .pagesub, .aws .privacy dl dt, .privacy dl .aws dt {
        margin-bottom: 5.6rem; } }
  @media screen and (min-width: 701px) {
    .aws .inbox {
      padding: 0 3.2rem; } }
  .aws .inbox.pt {
    padding-top: 5.6rem; }
    @media screen and (min-width: 701px) {
      .aws .inbox.pt {
        padding-top: 6.4rem; } }
    @media screen and (min-width: 961px) {
      .aws .inbox.pt {
        padding-top: 7.1rem; } }
    .aws .inbox.pt h3 {
      align-items: flex-start;
      font-size: clamp(1.8rem, calc(1.582rem + 0.68vw), 2.4rem);
      font-weight: 500;
      margin-bottom: 2.4rem; }
      @media screen and (min-width: 701px) {
        .aws .inbox.pt h3 {
          margin-bottom: 3.2rem; } }
      @media screen and (min-width: 961px) {
        .aws .inbox.pt h3 {
          margin-bottom: 4.1rem; } }
      .aws .inbox.pt h3::before {
        content: "";
        display: block;
        width: 1.6rem;
        height: .4rem;
        border-radius: 10rem;
        background: linear-gradient(90deg, #FFA2C6, #FFD179);
        margin-right: 1.6rem;
        margin-top: 0.65em; }
    .aws .inbox.pt p.pb {
      padding-bottom: 1.6rem; }
      @media screen and (min-width: 701px) {
        .aws .inbox.pt p.pb {
          padding-bottom: 2.4rem; } }
      @media screen and (min-width: 961px) {
        .aws .inbox.pt p.pb {
          padding-bottom: 3.2rem; } }
  .aws .lead h3 {
    font-size: clamp(1.8rem, calc(1.582rem + 0.68vw), 2.4rem);
    font-weight: 500;
    line-height: 2em;
    padding-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .aws .lead h3 {
        padding-bottom: 4.6rem; } }
    @media screen and (min-width: 961px) {
      .aws .lead h3 {
        padding-bottom: 5.1rem; } }
    .aws .lead h3 br {
      display: none; }
      @media screen and (min-width: 701px) {
        .aws .lead h3 br {
          display: block; } }
  .aws .lead p {
    font-size: 1.4rem;
    line-height: 1.8em; }
  .aws .g-box {
    margin-top: 3.2rem; }
    @media screen and (min-width: 701px) {
      .aws .g-box {
        margin-top: 4.8rem; } }
    @media screen and (min-width: 961px) {
      .aws .g-box {
        margin-top: 6.2rem; } }
  .aws .list {
    padding-bottom: 6.2rem; }
    @media screen and (min-width: 701px) {
      .aws .list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-bottom: 6.2rem; } }
    .aws .list dl {
      display: block;
      padding-right: 10rem;
      position: relative;
      margin-bottom: 3.2rem; }
      @media screen and (min-width: 701px) {
        .aws .list dl {
          padding-right: 11.8rem;
          width: 48%;
          margin-bottom: 4.8rem; } }
      @media screen and (min-width: 961px) {
        .aws .list dl {
          width: 45.5%; } }
      .aws .list dl::after {
        content: "";
        display: block;
        width: 8rem;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto; }
        @media screen and (min-width: 701px) {
          .aws .list dl::after {
            width: 9.4rem; } }
      .aws .list dl:nth-of-type(1)::after {
        aspect-ratio: 94 / 117;
        background: url("/wp-content/themes/kaikou/images/business/aws1.webp") center center no-repeat;
        background-size: 100% auto; }
      .aws .list dl:nth-of-type(2)::after {
        aspect-ratio: 188 / 217;
        background: url("/wp-content/themes/kaikou/images/business/aws2.webp") center center no-repeat;
        background-size: 100% auto; }
      .aws .list dl:nth-of-type(3)::after {
        aspect-ratio: 188 / 173;
        background: url("/wp-content/themes/kaikou/images/business/aws3.webp") center center no-repeat;
        background-size: 100% auto; }
      .aws .list dl:nth-of-type(4)::after {
        aspect-ratio: 94 / 87;
        background: url("/wp-content/themes/kaikou/images/business/aws4.webp") center center no-repeat;
        background-size: 100% auto; }
      .aws .list dl dt {
        font-size: clamp(1.6rem, calc(1.528rem + 0.23vw), 1.8rem);
        font-weight: 500;
        padding-bottom: 1.6rem; }
        @media screen and (min-width: 701px) {
          .aws .list dl dt {
            padding-bottom: 2rem; } }
        @media screen and (min-width: 961px) {
          .aws .list dl dt {
            padding-bottom: 2.4rem; } }
      .aws .list dl dd {
        font-size: 1.4rem;
        line-height: 1.8em; }
    .aws .list p {
      width: 100%; }
      @media screen and (min-width: 961px) {
        .aws .list p {
          text-align: center; } }
      .aws .list p br {
        display: none; }
        @media screen and (min-width: 961px) {
          .aws .list p br {
            display: block; } }

.ai {
  position: relative;
  padding-bottom: 5.6rem;
  margin-bottom: 5.6rem; }
  @media screen and (min-width: 701px) {
    .ai {
      padding-bottom: 8rem;
      margin-bottom: 8rem; } }
  @media screen and (min-width: 961px) {
    .ai {
      padding-bottom: 12rem;
      margin-bottom: 12rem; } }
  .ai::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #FFA2C6, #FFD179);
    position: absolute;
    left: 0;
    bottom: 0; }
  .ai .pagesub, .ai .privacy dl dt, .privacy dl .ai dt {
    margin-left: 0;
    margin-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .ai .pagesub, .ai .privacy dl dt, .privacy dl .ai dt {
        margin-bottom: 4.8rem; } }
    @media screen and (min-width: 961px) {
      .ai .pagesub, .ai .privacy dl dt, .privacy dl .ai dt {
        margin-bottom: 5.6rem; } }
  @media screen and (min-width: 701px) {
    .ai .inbox {
      padding: 0 3.2rem; } }
  .ai .inbox.pt {
    padding-top: 5.6rem; }
    @media screen and (min-width: 701px) {
      .ai .inbox.pt {
        padding-top: 6.4rem; } }
    @media screen and (min-width: 961px) {
      .ai .inbox.pt {
        padding-top: 7.1rem; } }
    .ai .inbox.pt h3 {
      align-items: flex-start;
      font-size: clamp(1.8rem, calc(1.582rem + 0.68vw), 2.4rem);
      font-weight: 500;
      margin-bottom: 2.4rem; }
      @media screen and (min-width: 701px) {
        .ai .inbox.pt h3 {
          margin-bottom: 3.2rem; } }
      @media screen and (min-width: 961px) {
        .ai .inbox.pt h3 {
          margin-bottom: 4.1rem; } }
      .ai .inbox.pt h3::before {
        content: "";
        display: block;
        width: 1.6rem;
        height: .4rem;
        border-radius: 10rem;
        background: linear-gradient(90deg, #FFA2C6, #FFD179);
        margin-right: 1.6rem;
        margin-top: 0.65em; }
    .ai .inbox.pt p.pb {
      padding-bottom: 1.6rem; }
      @media screen and (min-width: 701px) {
        .ai .inbox.pt p.pb {
          padding-bottom: 2.4rem; } }
      @media screen and (min-width: 961px) {
        .ai .inbox.pt p.pb {
          padding-bottom: 3.2rem; } }
  .ai .lead h3 {
    font-size: clamp(1.8rem, calc(1.582rem + 0.68vw), 2.4rem);
    font-weight: 500;
    line-height: 2em;
    padding-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .ai .lead h3 {
        padding-bottom: 3.2rem; } }
    @media screen and (min-width: 961px) {
      .ai .lead h3 {
        padding-bottom: 4.8rem; } }
  .ai .g-box {
    margin-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .ai .g-box {
        margin-bottom: 4rem; } }
  .ai .list {
    padding-bottom: 6.2rem; }
    @media screen and (min-width: 701px) {
      .ai .list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-bottom: 6.2rem; } }
    .ai .list dl {
      display: block;
      padding-right: 10rem;
      position: relative;
      margin-bottom: 3.2rem; }
      @media screen and (min-width: 701px) {
        .ai .list dl {
          width: 48%;
          margin-bottom: 4.8rem; } }
      @media screen and (min-width: 961px) {
        .ai .list dl {
          width: 45.5%; } }
      .ai .list dl::after {
        content: "";
        display: block;
        width: 8rem;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto; }
      .ai .list dl:nth-of-type(1)::after {
        aspect-ratio: 1 / 1;
        background: url("/wp-content/themes/kaikou/images/business/ai1.webp") center center no-repeat;
        background-size: 100% auto; }
      .ai .list dl:nth-of-type(2)::after {
        aspect-ratio: 1 / 1;
        background: url("/wp-content/themes/kaikou/images/business/ai2.webp") center center no-repeat;
        background-size: 100% auto; }
      .ai .list dl:nth-of-type(3)::after {
        width: 8.25rem;
        aspect-ratio: 165 / 181;
        background: url("/wp-content/themes/kaikou/images/business/ai3.webp") center center no-repeat;
        background-size: 100% auto; }
      .ai .list dl:nth-of-type(4)::after {
        aspect-ratio: 188 / 201;
        background: url("/wp-content/themes/kaikou/images/business/ai4.webp") center center no-repeat;
        background-size: 100% auto; }
      .ai .list dl dt {
        font-size: clamp(1.6rem, calc(1.528rem + 0.23vw), 1.8rem);
        font-weight: 500;
        padding-bottom: 1.6rem; }
        @media screen and (min-width: 701px) {
          .ai .list dl dt {
            padding-bottom: 2rem; } }
        @media screen and (min-width: 961px) {
          .ai .list dl dt {
            padding-bottom: 2.4rem; } }
      .ai .list dl dd {
        font-size: 1.4rem;
        line-height: 1.8em; }
    .ai .list p {
      width: 100%; }
      @media screen and (min-width: 961px) {
        .ai .list p {
          text-align: center; } }
      .ai .list p br {
        display: none; }
        @media screen and (min-width: 961px) {
          .ai .list p br {
            display: block; } }

.reason .pagesub, .reason .privacy dl dt, .privacy dl .reason dt {
  margin-left: 0;
  margin-bottom: 3.2rem; }
  @media screen and (min-width: 701px) {
    .reason .pagesub, .reason .privacy dl dt, .privacy dl .reason dt {
      margin-bottom: 4.8rem; } }
  @media screen and (min-width: 961px) {
    .reason .pagesub, .reason .privacy dl dt, .privacy dl .reason dt {
      margin-bottom: 5.6rem; } }
.reason dl {
  border-top: #BCB9B3 1px solid;
  padding: 2.4rem 0; }
  @media screen and (min-width: 701px) {
    .reason dl {
      padding: 3.2rem; } }
  .reason dl dt {
    padding-bottom: 1.6rem;
    align-items: flex-start;
    font-size: clamp(1.6rem, calc(1.528rem + 0.23vw), 1.8rem);
    font-weight: 500; }
    @media screen and (min-width: 701px) {
      .reason dl dt {
        align-items: center;
        padding-bottom: 2.4rem; } }
    .reason dl dt::before {
      font-family: "Montserrat", sans-serif;
      font-weight: 600;
      letter-spacing: 0;
      color: #EB70A0;
      margin-right: 1.6rem; }
      @media screen and (min-width: 701px) {
        .reason dl dt::before {
          margin-right: 2.4rem; } }
  .reason dl dd {
    padding-bottom: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.8em; }
    @media screen and (min-width: 701px) {
      .reason dl dd {
        padding-right: 2.4rem; } }
    .reason dl dd:last-child {
      padding-bottom: 0; }
  .reason dl:nth-of-type(1) dt::before {
    content: "01"; }
  .reason dl:nth-of-type(2) {
    border-bottom: #BCB9B3 1px solid;
    margin-bottom: 6.4rem; }
    .reason dl:nth-of-type(2) dt::before {
      content: "02"; }

/* 企業情報 */
.outline {
  padding-bottom: 6rem;
  position: relative;
  margin-bottom: 7rem; }
  @media screen and (min-width: 701px) {
    .outline {
      padding: 0 3.2rem 8rem;
      margin-bottom: 9rem; } }
  @media screen and (min-width: 961px) {
    .outline {
      padding-bottom: 12rem;
      margin-bottom: 13rem; } }
  .outline::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #FFA2C6, #FFD179);
    position: absolute;
    left: 0;
    bottom: 0; }
  .outline .pagesub, .outline .privacy dl dt, .privacy dl .outline dt {
    margin-bottom: 1.2rem; }
    @media screen and (min-width: 701px) {
      .outline .pagesub, .outline .privacy dl dt, .privacy dl .outline dt {
        margin-bottom: 2.6rem; } }
  .outline dl {
    flex-wrap: wrap; }
    .outline dl dt, .outline dl dd {
      display: block;
      position: relative; }
      .outline dl dt::after, .outline dl dd::after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        position: absolute;
        left: 0;
        bottom: 0; }
    .outline dl dt {
      width: 10rem;
      padding: 1.6rem 0;
      font-weight: 500; }
      @media screen and (min-width: 701px) {
        .outline dl dt {
          width: 12rem;
          padding: 2.4rem 0 2.4rem 2rem; } }
      @media screen and (min-width: 961px) {
        .outline dl dt {
          width: 18.4rem;
          padding: 3.6rem 0 3.6rem 4.8rem; } }
      .outline dl dt::after {
        background: linear-gradient(90deg, #FFA2C6, #FFD179); }
    .outline dl dd {
      width: calc(100% - 10rem);
      padding: 1.6rem 0 1.6rem 1rem;
      font-weight: 400; }
      @media screen and (min-width: 701px) {
        .outline dl dd {
          width: calc(100% - 12rem);
          padding: 2.4rem 0 2.4rem 2rem; } }
      @media screen and (min-width: 961px) {
        .outline dl dd {
          width: calc(100% - 18.4rem);
          padding: 3.6rem 0 3.6rem 5.4rem; } }
      .outline dl dd::after {
        background: #E0E0E0; }

@media screen and (min-width: 701px) {
  .access {
    padding: 0 3.2rem; } }
.access .pagesub, .access .privacy dl dt, .privacy dl .access dt {
  margin-bottom: 3rem; }
  @media screen and (min-width: 701px) {
    .access .pagesub, .access .privacy dl dt, .privacy dl .access dt {
      margin-bottom: 4rem; } }
  @media screen and (min-width: 961px) {
    .access .pagesub, .access .privacy dl dt, .privacy dl .access dt {
      margin-bottom: 6rem; } }
@media screen and (min-width: 701px) {
  .access .flb {
    display: flex;
    justify-content: space-between; } }
.access .flb .txt {
  padding-bottom: 3.2rem; }
  @media screen and (min-width: 961px) {
    .access .flb .txt {
      padding-bottom: 4.2rem; } }
  .access .flb .txt p {
    font-weight: 500;
    line-height: 1.8em; }
  .access .flb .txt a {
    display: inline-block;
    position: relative;
    margin-top: 1.7rem;
    padding-bottom: .4rem; }
    .access .flb .txt a::before {
      content: "";
      display: inline-block;
      width: 1.2rem;
      aspect-ratio: 4 / 5;
      background: url("/wp-content/themes/kaikou/images/common/map.svg") center center no-repeat;
      background-size: 100% auto;
      margin-right: .8rem; }
    .access .flb .txt a::after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background: #474645;
      position: absolute;
      left: 0;
      bottom: 0; }
  .access .flb .txt dl {
    padding-top: 3.7rem; }
    .access .flb .txt dl dt {
      align-items: center;
      font-weight: 500;
      margin-bottom: 1.9rem; }
      .access .flb .txt dl dt::before {
        content: "";
        display: block;
        width: 1.6rem;
        height: .4rem;
        border-radius: 10rem;
        background: linear-gradient(90deg, #FFA2C6, #FFD179);
        margin-right: 1.6rem; }
      .access .flb .txt dl dt:nth-child(n + 2) {
        margin-top: 3rem; }
        @media screen and (min-width: 701px) {
          .access .flb .txt dl dt:nth-child(n + 2) {
            margin-top: 5rem; } }
    .access .flb .txt dl dd {
      font-size: 1.4rem;
      line-height: 1.8em; }
      .access .flb .txt dl dd.att {
        font-size: 1.2rem;
        padding-top: 2.1rem; }
.access .flb .gmap {
  width: 100%;
  border-radius: 1.6rem;
  border: #E0E0E0 1px solid;
  overflow: hidden;
  aspect-ratio: 1 / 1; }
  @media screen and (min-width: 701px) {
    .access .flb .gmap {
      width: 49%;
      border-radius: 2.4rem;
      aspect-ratio: auto; } }
  .access .flb .gmap iframe {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0; }

/* 個人情報保護方針 */
.privacy {
  padding-bottom: 3.2rem; }
  @media screen and (min-width: 701px) {
    .privacy {
      padding: 0 3.2rem 5rem; } }
  .privacy p, .privacy dd, .privacy li {
    font-size: 1.4rem;
    line-height: 1.8em; }
  .privacy dl {
    padding-top: .8rem; }
    .privacy dl dt {
      margin-top: 3.2rem;
      margin-bottom: 1.6rem; }
      @media screen and (min-width: 701px) {
        .privacy dl dt {
          margin-top: 4.8rem;
          margin-bottom: 2.4rem; } }
      @media screen and (min-width: 961px) {
        .privacy dl dt {
          margin-top: 5.6rem;
          margin-bottom: 3.2rem; } }
    .privacy dl dd ul {
      padding-top: 1.6rem; }
      @media screen and (min-width: 701px) {
        .privacy dl dd ul {
          padding-top: 2.4rem; } }
      .privacy dl dd ul li {
        list-style: none;
        text-indent: -1em;
        padding-left: 1em; }
        .privacy dl dd ul li::before {
          content: "・"; }

/* 404 */
.p404 {
  position: relative; }
  .p404::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1599 / 401;
    background: url("/wp-content/themes/kaikou/images/404/line.svg") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    bottom: 0;
    pointer-events: none; }
  .p404 .pagesub, .p404 .privacy dl dt, .privacy dl .p404 dt {
    margin-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .p404 .pagesub, .p404 .privacy dl dt, .privacy dl .p404 dt {
        margin-bottom: 6.4rem; } }
    .p404 .pagesub::before, .p404 .privacy dl dt::before, .privacy dl .p404 dt::before {
      content: none; }
  .p404 .btnmore {
    margin-top: 2.8rem; }
    @media screen and (min-width: 701px) {
      .p404 .btnmore {
        margin-top: 5.6rem; } }
