@charset "utf-8";

:root {--text:#404040; --text-accent:#B89C4B; --accent-sub:#CCCCCC; --btn-primary:#0a3e6f; --btn-secondary:#0a3e6f; --caution:#ce0000;}

/** reset **/
*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}a,button{cursor:revert}ol,ul,menu,summary{list-style:none}ol{counter-reset:revert}img{max-inline-size:100%;max-block-size:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert;box-sizing:border-box}::placeholder{color:unset}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable="true"]){-webkit-user-drag:element}:where(dialog:modal){all:revert;box-sizing:border-box}::-webkit-details-marker{display:none}

html { scroll-behavior: smooth; scroll-padding: 58px;}
body { color:var(--text); font-family:"Noto Sans JP", sans-serif; font-feature-settings: "palt"; letter-spacing: 0.1em; font-size:100%;}

a {text-decoration:underline; transition:0.5s ease;}
a:hover {text-decoration:none;}
p {color:var(--text); font-size: 1rem; font-weight:400; line-height: 1.8; margin-block-end: 20px;}
p:last-child {margin-block-end: 0;}
img {width:100%; height:auto; aspect-ratio:initial;}

/** title tag: ウィンドウ幅に合わせて書体サイズを自動調整する記述に **/
h1 {font-size:clamp(36px, calc(36px + (57 - 36) * ((100vw - 1200px) / (1920 - 1200))), 57px); line-height: 1.3; font-weight:900; margin-block-end:30px; text-align:center;}
/* h1 span {font-size: clamp(28px, calc(28px + (32 - 28) * ((100vw - 1200px) / (1920 - 1200))), 32px); font-weight: 700;}*/
h1:last-child {margin-block-end:0;}
h2 {font-size: clamp(30px, calc(30px + (36 - 30) * ((100vw - 1200px) / (1920 - 1200))), 36px); margin-block-end:30px; line-height:1; font-weight:900; text-align:center;}
/* h2 span {font-size: clamp(24px, calc(21px + (24 - 21) * ((100vw - 1200px) / (1920 - 1200))), 24px);font-weight:700;}*/
h2 .p-title-englishsub {color:#A1A1A1; font-size:0.875rem; font-weight:400; letter-spacing:0;}

h3 {font-size:1.375rem;/*font-size: clamp(24px, calc(24px + (30 - 24) * ((100vw - 1200px) / (1920 - 1200))), 30px);*/ margin-block-end:30px; line-height: 1.5; font-weight:700;}
h4 {font-size: clamp(21px, calc(21px + (24 - 21) * ((100vw - 1200px) / (1920 - 1200))), 24px); margin-block-end:20px; font-weight: 500;}
h5 {font-size: clamp(18px, calc(18px + (21 - 18) * ((100vw - 1200px) / (1920 - 1200))), 21px); margin-block-end:20px;}
h6 {font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 1200px) / (1920 - 1200))), 18px); margin-block-end:20px;}

.u-accent {color: var(--text-accent);}
.u-bold {font-weight:700;}
.c-caution_text {font-size: 0.875rem; color: var(--caution);}

.pc_block {display: block;}
.sp_block {display: none;}

@media screen and (max-width: 1366px) {
  h1 {font-size:2rem}
}

@media screen and (max-width: 768px) {
  h1 {font-size:1.5rem}
  h2 {font-size:1.25rem}
  h3 {font-size:1.125rem;}

.pc_block {display: none;}
.sp_block {display: block;}

}

/*******************/
/** header / navi **/
/*******************/

/* Layout: Header */
.l-header {position:sticky; height:0; padding-left:20px; display:flex; justify-content:space-between; align-items: center; z-index:20; top:0;}
.l-header__logo {display:flex; align-items:center; position:relative; top:40px; left:50px;}

/* Component: Logo */
.c-logo img { display: block; height: auto; width:100%;}

/* Component: Navigation */
.c-nav {display:grid; grid-template-columns:1fr; height:100%; align-items:center; gap:30px; width: stretch;}
.c-nav__list {display:flex; width:100%; height:100%; gap:30px; margin:0; padding:0; list-style: none; align-items:center;} 
.c-nav__link {position:relative; text-align:center; text-decoration: none; transition:0.5s ease; color:inherit; font-weight:600; font-size: 1rem; max-width: 180px; height:60px;}
.c-nav__link:hover {color: #999;}
.c-nav__item .c-nav__link:hover::after {position:absolute; content:'・'; font-weight:900; bottom:-20px; left: 50%; transform: translateX(-50%);}
.c-nav__item {display: block;}
.c-nav__cta_btns {display:flex; justify-content:flex-end; align-items:center; height:100%; width:100%;}
.c-nav__cta_btn {max-width:180px; width:100%; height:60px;}
.c-nav__cta_btn a {width:100%; height:100%; display:flex; justify-content:center; align-items:center; opacity:1;}
.c-nav__cta_btn a:hover {text-decoration:none; opacity: 0.7;}
.c-nav__cta_btn.primary a {color:#FFF; background: #1DD8BF; background: linear-gradient(270deg, rgba(29, 216, 191, 1) 0%, rgba(53, 165, 206, 1) 100%); border-radius: 0 0 0 10px;}
.c-nav__cta_btn.secondary a {color:#FFF; background: #9E9B9B; background: linear-gradient(270deg, rgba(158, 155, 155, 1) 0%, rgba(64, 64, 64, 1) 100%);}

@media screen and (max-width: 768px) {
  .c-nav__cta_btn {max-width:46px; height:40px;}
}

/*******************/
/**    contents   **/
/*******************/
main, .l-main, article, .l-article, .l-outer, section {width:100%;}
.l-wrapper {padding-block: clamp(40px, 4vw, 80px); padding-inline:clamp(15px, 4vw, 40px);}
.l-wrapper.u-pipb_0 {padding:0;}
.l-container {max-width:1200px; width:100%; margin:0 auto; }
.l-cta-container-col2 {display:grid; grid-template-columns:1fr 1fr;}
.l-inner {/*padding-block: clamp(30px, 4vw, 60px);*/}
.l-content {margin-block-end: 60px;}
.l-content:last-child {margin-block-end:0;}
.l-content > :not(:last-child) {margin-block-end:50px;}
.l-content > :last-child {margin-block-end:0;}
.l-content.l-col2 {height:180px; opacity:1; margin-block-end:0;}
.l-content.l-col2:hover {opacity: 0.7; transition: 0.5s ease;}
.l-content.l-col2 a {position:relative; height:100%; text-decoration: none; display:flex; justify-content:flex-end; z-index:10; align-items: center;}
.l-content.l-col2:last-child a {justify-content: start;}
.l-cta-container-col2 > :first-child {position:relative; background:url(../images/cta_01.webp) no-repeat right center; background-size: cover;}
.l-cta-container-col2 > :first-child::after {position:absolute; content: ''; top:0; left:0; background: #1DD8BF; background: linear-gradient(270deg, rgba(29, 216, 191, 1) 0%, rgba(53, 165, 206, 1) 100%); width:100%; height:100%; z-index: 1; mix-blend-mode: multiply;}
.l-cta-container-col2 > :last-child {position:relative; background:url(../images/cta_02.webp) no-repeat right center; background-size: cover;}
.l-cta-container-col2 > :last-child::after {position:absolute; content: ''; top:0; left:0; width:100%; height:100%; background: #9E9B9B; background: linear-gradient(270deg, rgba(158, 155, 155, 1) 0%, rgba(64, 64, 64, 1) 100%); z-index: 1; mix-blend-mode: multiply;}
.l-cta-container-col2 > :last-child a {color: #FFF;}
.c-cta-col2-box__inner {position:relative; max-width:600px; width:100%; height: 100%; display:flex; justify-content:center; align-items: center;}
.c-cta-col2-box__inner::after {position:absolute; content:''; width: 0; height: 0; border-style: solid; border-width: 0 0 14px 14px; border-color: transparent transparent #FFFFFF transparent; bottom:10px; right:10px;}
.c-cta-col2-box__title {color:#FFF; font-size:1.25rem; text-align: center; margin-block-end:5px; font-weight:900;}
.c-cta-col2-box__description {color:#CCC; text-align:center; letter-spacing:0.05em; line-height:1;}

@media screen and (max-width: 1366px) {

}

@media screen and (max-width: 768px) {
  .l-cta-container-col2 {grid-template-columns:1fr;}
    .c-cta-col2-box__inner {max-width:initial;}
  .l-header__logo {top: 20px; left: 10px; }
  .l-content.l-col2 {height:100px;}
  .l-content > :not(:last-child) {margin-block-end:20px;}

}

/*---------------------------------*/
/*-------- Top Mainvisual ---------*/
/*---------------------------------*/
.p-mainvisual {position:relative; aspect-ratio: 192 / 83; background: url(../images/mv_bg_circle01.svg) left -200px top -200px / 470px 470px no-repeat, url(../images/mv_bg_circle02.svg) right -150px top 7px / 435px 435px no-repeat; background-color: #FCFAF6; width:100%; height:100%;}
.p-mainvisual::before {
    --w: clamp(220px, calc(220px + (100vw - 1366px) * 0.126), 290px);
    position: absolute;
    content: '';
    width: var(--w);
    aspect-ratio: 290 / 132;
    height: auto;
    background: url(../images/mv_img01.webp) no-repeat center;
    background-size: cover;
    left: 7%;
    top: 113px;
    border-radius: 10px;
}
.p-mainvisual::after {
    --w2: clamp(150px, calc(150px + (100vw - 1366px) * 0.126), 173px);
    position: absolute;
    content: '';
    width: var(--w2);
    aspect-ratio: 173 / 299;
    height: auto;
    background: url(../images/mv_img04.webp) no-repeat center;
    background-size: cover;
    right: 0;
    top: 125px;
}
.p-mainvisual__container {position:relative; width:100%; height: 100%;}
.p-mainvisual__container::before {
    --w3: clamp(280px, calc(280px + (100vw - 1366px) * 0.126), 388px);
    position: absolute;
    content: '';
    width: var(--w3);
    aspect-ratio: 2 / 1;
    height: auto;
    background: url(../images/mv_img02.webp) no-repeat center;
    background-size: cover;
    left:0;
    bottom:4px;
}
.p-mainvisual__container::after {
    --w4: clamp(220px, calc(220px + (100vw - 1366px) * 0.126), 290px);
    position: absolute;
    content: '';
    width: var(--w4);
    aspect-ratio: 145 / 66;
    height: auto;
    background: url(../images/mv_img03.webp) no-repeat center;
    background-size: cover;
    right:50px;
    bottom:6%;
    border-radius:10px;
}
.p-mainvisual__inner {max-width:1200px; width:100%; height:100%; display:flex; justify-content:center; align-items:center; margin: 0 auto;}
.p-mainvisual__content-area {padding-inline:40px;}
.p-mainvisual__content-area.fadeup.is-animated {animation:fadeup 1.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;}
@keyframes fadeup { 0% { transform: translateY(-30px); opacity: 0; } 80% { opacity: 1; } 100% { opacity: 1; transform: translateY(0); }}
.p-mainvisual__description {max-width:1080px; width:90%; font-size:clamp(19px, calc(19px + (22 - 19) * ((100vw - 1366px) / (1920 - 1366))), 22px); margin-block-end:20px; font-weight: 500; line-height:1.7; margin-inline: auto; margin-block-end:60px;}
.p-mainvisual-textArea { text-align: center; display: inline-block; margin: 0 auto; display: flex; justify-content: center; align-items: center; background:#FFF;}
.p-mainvisual__title {line-height: 1.5;}
.p-mainvisual__title .u-accent {position:relative; color: var(--text-accent); padding-bottom:3px;}
.p-mainvisual__title .u-accent::after {position:absolute; content:''; bottom: 0; left: 0; width: 100%; height:3px; background: var(--text-accent); }
.p-mainvisual__catch {font-size:1.625rem; text-align:center;}
.p-mainvisual__catch span {position:relative; background:#FFF; padding:10px 50px; max-width: 690px; width: 100%; display: inline-block; border-radius: 10px; box-shadow: 0 0 5px rgb(184 156 75 / 19%); }
.p-mainvisual__catch span::before {position:absolute; content:''; width:14px; height:14px; background-color:var(--text-accent); border-radius: 14px; top:50%; left:20px; transform: translateY(-50%);}
.p-mainvisual__catch span::after {position:absolute; content:''; width:14px; height:14px; background-color:var(--text-accent); border-radius: 14px; top:50%; right:20px; transform: translateY(-50%);}
.p-mainvisual__cta_btns {display:flex; justify-content:center; gap:30px;}
.p-mainvisual__cta_btn {position: relative; max-width:360px; width:100%; height:50px; border-radius:30px; box-shadow: 0 5px 0 rgb(0 0 0 / 16%); transition: 0.2s all; top:0px; opacity:1;}
.p-mainvisual__cta_btn.primary {color:#FFF; background: #1DD8BF; background: linear-gradient(270deg, rgba(29, 216, 191, 1) 0%, rgba(53, 165, 206, 1) 100%);}
.p-mainvisual__cta_btn.secondary {color:#FFF; background: #9E9B9B; background: linear-gradient(270deg, rgba(158, 155, 155, 1) 0%, rgba(64, 64, 64, 1) 100%); }
.p-mainvisual__cta_btn:hover {opacity: 0.7; box-shadow: 0 2px 0 rgb(0 0 0 / 16%); top:2px;}
.p-mainvisual__link {position:relative; width:100%; height:100%; display:flex; justify-content:center; align-items:center; font-weight:700; text-decoration:none;}
.p-mainvisual__cta_btn::after {position:absolute; content:''; width:8px; height:15px; top:50%; right:20px; transform: translateY(-50%); background: url(../images/cta_arrow_white.svg)no-repeat center center; background-size:cover;}

/** responsive **/
@media screen and (max-width: 1366px) {
  .p-mainvisual {aspect-ratio: initial; padding-block:100px;}
  .p-mainvisual__title {margin-block-end:20px;}
  .p-mainvisual::after { width: 100px; top: 125px; }
  .p-mainvisual__cta_btns {flex-wrap:wrap; margin:0 auto;}
}
@media screen and (max-width: 1366px) and (min-width: 769px) {
  .p-mainvisual { padding-block-start:250px; padding-block-end:100px;}
  .p-mainvisual__cta_btns {max-width:300px;}
}
@media screen and (max-width: 768px) {
  .p-mainvisual {padding-block:200px; background: url(../images/mv_bg_circle01.svg) left -85px top -85px / 170px 170px no-repeat, url(../images/mv_bg_circle02.svg) right -109px top 7px / 218px 218px no-repeat; background-color: #FCFAF6;}
  .p-mainvisual::before {width:154px; height:auto; left:20px; top:110px; border-radius:10px;}
  .p-mainvisual__content-area {padding-inline:20px;}
  .p-mainvisual__description {width:100%; font-size:0.9375rem;}
  .p-mainvisual__cta_btns {max-width:360px; gap:10px;}
  .p-mainvisual__catch {font-size:0.9375rem; text-align:center;}
  .p-mainvisual__catch span {max-width:initial; width:100%; letter-spacing: 0.05em; padding: 10px 20px;}
  .p-mainvisual__catch span::before, .p-mainvisual__catch span::after {width:8px; height:8px; border-radius:50%;}
  .p-mainvisual__catch span::before {left: 10px;}
  .p-mainvisual__catch span::after {right: 10px;}
  .p-mainvisual::after {
      --w2: clamp(45px, calc(45px + (100vw - 1366px) * 0.126), 70px);
      position: absolute;
      content: '';
      width: var(--w2);
      aspect-ratio: 173 / 299;
      height: auto;
      background: url(../images/mv_img04_sp.webp) no-repeat center;
      background-size: cover;
      right: 0;
      top: 125px;
  }
  .p-mainvisual__container::before {width:146px; bottom:-120px;}
  .p-mainvisual__container::after {width:149px; bottom:-100px; right:20px;}
}
/*---------------------------------*/
/*-----------   case  -------------*/
/*---------------------------------*/
.p-case-area {position:relative; background-color:#FCFAF6; padding-block-start:0; margin-bottom:45px;}
.p-case-area::after {position:absolute; content:''; bottom:-80px; left:50%; transform: translateX(-50%); width:100%; height:80px; background-color:#FCFAF6; clip-path: polygon(0 0, 100% 0, 50% 100%); z-index:0;}
.p-case-area .p-case-bg_wrapper {position:relative;}
.p-case-area .p-case-bg_wrapper::before {position:absolute; content:''; width:435px; height:523px; background:url(../images/mv_bg_circle03.svg)no-repeat center; background-size:cover; left:-236px; top:-35%; z-index:1;}
.p-case-area .p-case-bg_wrapper::after {position:absolute; content:''; width:470px; height:470px; background:url(../images/mv_bg_circle04.svg)no-repeat center; background-size:cover; right:-30px; bottom:-250px; z-index:1;}
.p-case-area .l-inner {padding-block:0; position:relative; z-index:10;}
.c-case-list__item { height:53px; display:flex; justify-content:center; align-items:center; gap:15px; margin-block-end:15px; }
.c-case-list__item > .c-case-list__image {order:2;}
.c-case-list__image {width: 102px; aspect-ratio:1; }
.c-case-list__description {position:relative; background:#FFF; display:inline-block; padding:10px; border-radius:10px; box-shadow:0 0 5px rgb(184 156 75 / 19%);}
.c-case-list__description p { font-size:1.125rem; font-weight:700;text-align:center;}
.c-case-list__description::after {position:absolute; content:''; top:50%; right:-10px; transform: translateY(-50%); width:0; height:0; border-style:solid; border-width:calc(11px / 2) 0 calc(11px / 2) 10px; border-color: transparent transparent transparent #FFFFFF;}
.c-case-list__description span {position:relative; color:#B89C4B; padding-bottom:2px;}
.c-case-list__description span::after {position:absolute; content:''; bottom:0; left:0; width:100%; height:1px; background: var(--text-accent);}

.c-case-list > .c-case-list__item:nth-child(2n) .c-case-list__image {order:1;}
.c-case-list > .c-case-list__item:nth-child(2n) .c-case-list__description {order:2;}
.c-case-list > .c-case-list__item:nth-child(2n) .c-case-list__description::after {position:absolute; content:''; top:50%; left:-10px; right: initial; width: 0; height:0; border-style:solid; border-width:calc(11px / 2) 10px calc(11px / 2) 0; border-color: transparent #FFFFFF transparent transparent; }
.c-case-list > .c-case-list__item:nth-child(1) {margin-left:20%;}
.c-case-list > .c-case-list__item:nth-child(1) .c-case-list__description {max-width:600px; width:100%;}
.c-case-list > .c-case-list__item:nth-child(2) {justify-content:flex-start; margin-left:95px;}
.c-case-list > .c-case-list__item:nth-child(2) .c-case-list__description {max-width:570px; width:100%;}
.c-case-list > .c-case-list__item:nth-child(3) {justify-content:flex-end; margin-right:100px;}
.c-case-list > .c-case-list__item:nth-child(3) .c-case-list__description {max-width:640px; width:100%;}
.c-case-list > .c-case-list__item:nth-child(4) {justify-content:flex-start; margin-left:25px;}
.c-case-list > .c-case-list__item:nth-child(4) .c-case-list__description {max-width:730px; width:100%;}
.c-case-list > .c-case-list__item:nth-child(5) {justify-content:flex-end; margin-right: 50px;}
.c-case-list > .c-case-list__item:nth-child(5) .c-case-list__description {max-width:800px; width:100%;}
.c-case-list > .c-case-list__item:nth-child(6) {justify-content:flex-start; margin-left:77px;}
.c-case-list > .c-case-list__item:nth-child(6) .c-case-list__description {max-width:540px; width:100%;}

@media screen and (max-width: 1366px) {
  .c-case-list__item {height:auto; margin-block-end: 5px;}
  .c-case-list__description_inner {display: flex; justify-content: center; align-items: flex-start;}
  .c-case-list__description p {text-align: left; display: inline-block;}
  .p-case-area .p-case-bg_wrapper::before {top: -10%;}
.p-case-area .p-case-bg_wrapper::after {position:absolute; content:''; width:470px; height:470px; background:url(../images/mv_bg_circle04.svg)no-repeat center; background-size:cover; right:-30px; bottom:-250px; z-index:1;}
  .c-case-list__image {width:70px;}
  .c-case-list__description span {text-decoration: underline;}
  .c-case-list__description span::after {display: none;}
}

@media screen and (max-width: 768px) {
  .p-case-area {padding-block-end: 20px;}
  .p-case-area::after {bottom:-40px; height:40px;}
  .c-case-list__description {font-size:0.875rem; text-align:left; letter-spacing:0.05em;}
  .c-case-list__item {height:auto;}
  .c-case-list > .c-case-list__item:nth-child(1), .c-case-list > .c-case-list__item:nth-child(2),  .c-case-list > .c-case-list__item:nth-child(4), .c-case-list > .c-case-list__item:nth-child(6) {margin-left:initial;}
  .c-case-list > .c-case-list__item:nth-child(3),.c-case-list > .c-case-list__item:nth-child(5) {margin-right:initial;}
  .c-case-list__item {margin-block-end:10px;}
  .c-case-list__image {width:50px;}
  .c-case-list__description p {font-size:0.875rem; line-height: 1.4;}
  .p-case-area .p-case-bg_wrapper::before {background:url(../images/mv_bg_circle03_sp.svg)no-repeat center; background-size:cover;width:137px; height:264px; left:-15px; top:-170px; z-index:1; height:59%; }
  .p-case-area .p-case-bg_wrapper::after {background:url(../images/mv_bg_circle04_sp.svg)no-repeat center; background-size:cover;width:125px; height:175px; right:-15px; bottom:-75px;}
}

/** under mainvisual **/
.c-under-mainvisual {height:300px; padding:40px; color:#FFF; background:url(/assets/images/) no-repeat center #333; background-size:cover;}
.c-under-mainvisual__container {max-width:1200px; width:100%; height:100%; margin:0 auto;}
.c-under-mainvisual__inner {height:100%; display:flex; justify-content:flex-start; align-items:center;}
.c-undervisual-textArea {}

/*---------------------------------*/
/*----------- Component -----------*/
/*---------------------------------*/
/** button **/
button {cursor: pointer;}
.c-button { height: 54px; font-size: 1rem; border-radius: 45px; padding-inline:38px; position: relative; display: grid; place-content: center; width: 100%; font-weight:700; line-height: 1; border-radius: 37.5px; transition: opacity 0.3s ease; }
.c-button.primary {background: var(--btn-primary); color: #584102;}
.c-button.secondary {background: var(--btn-secondary); color: #333;}

/** textLink **/
.c-textlink {}
.c-textlink a {}

.c-arrow_link {}
.c-arrow_link a {position:relative; padding-right:23px;}
.c-arrow_link a::after {position: absolute; background: url(../images/link_right_arrow.svg) no-repeat center center; background-size: cover; content: ''; width: 18px; height: 18px; bottom: 5%; transition: 0.25s ease-in-out; right: 0;}

.c-external_link {}
.c-external_link a {position:relative; padding-right:23px;}
.c-external_link a::after { position: absolute; background: url(../images/external_link_blk.svg) no-repeat center center; background-size: cover; content: ''; width: 18px; height: 16px; top: 50%; transform: translateY(-50%); right: 0;}


/** list **/
.c-default_list {margin-block-end: 40px;}
.c-default_list:last-child {margin-block-end:0;}
.c-default_list li {margin-block-end:5px;}
.c-default_list li:last-child {margin-block-end:0;}
.c-default_list li::before {}

.c-icon_list {margin-block-end: 40px;}
.c-icon_list:last-child {margin-block-end:0;}
.c-icon_list li {position:relative; padding-left:15px; margin-block-end:5px;}
.c-icon_list li::before {content:'・'; color:#d79300; position:absolute; left:0; top:1px;}

.c-num_list {margin-block-end: 40px;}
.c-num_list li {position:relative; margin-left:25px; margin-block-end:5px; list-style-type:decimal;}
.c-num_list li::marker {font-weight: 700;}
.c-num_list li::before {}


/* リンクボタン */
.c-btn-area {display:flex; justify-content:center; align-items:center; gap:20px; margin-block-end: 40px; flex-wrap:wrap; max-width: 360px; width: 100%; height:50px; border-radius:30px; margin: 0 auto; border:1px solid #B1B1B1;}
.c-btn-area a {position:relative; display:flex; justify-content:center; align-items:center; width:100%; height:100%; color:#404040; text-decoration:none; font-weight:700; opacity:1;}
.c-btn-area a:hover {opacity:0.7;}
.c-btn-area a::after {position:absolute; content:''; width:8px; height:15px; top:50%; right:20px; transform: translateY(-50%); background: url(../images/cta_arrow_blonze.svg)no-repeat center center; background-size:cover;}

/* アンカーリンクボタン */
.c-anchorlink-list {display:flex; justify-content:center; gap:20px; align-items:stretch; margin-block-end:40px; text-decoration: none; flex-wrap: wrap;}
.c-anchorlink-list li {max-width:270px; width:100%; height: 70px; border: 1px solid; border-radius:5px;} 
.c-anchorlink-list li a {position:relative; width:100%; height:100%; display: flex; justify-content:center; align-items:center; font-weight:700; text-decoration:none; line-height:130%; text-decoration:none; transition:0.25s ease-in-out;}
.c-anchorlink-list li a:hover {background-color:#000; color:#FFF; text-decoration: none;}
.c-anchorlink-list li a::before, .c-anchorlink-list li a::after { content: ""; position: absolute; bottom: 10px; left: calc(50% - 0.5px); width: 1px; height: 7px; border-radius: 9999px; background-color: #000000; transform-origin: 50% calc(100% - 0.5px); }
.c-anchorlink-list li a:hover::before, .c-anchorlink-list li a:hover::after { background-color: #FFF; }
.c-anchorlink-list li a::before { transform: rotate(45deg); }
.c-anchorlink-list li a::after { transform: rotate(-45deg); }

/** flowlist **/
.p-solution-area {position: relative;}
.p-solution-area::after {position: absolute; content:''; width: 70vw; height:calc(100% - 230px); top:230px; right:0; background-color: #FCFAF6; z-index: 0;}
.p-solution-area .l-container {position: relative; z-index:1;}

.l-solution-area-intro {max-width:1000px; width:100%; margin: 0 auto;}

.c-flow-list {max-width:1000px; width:100%; margin: 0 auto;}
.c-flow-list-text-content {display:flex; position: relative; gap:15px;}
.c-flow-list-content {position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; margin-bottom: 45px; background-color:#FFF; box-shadow: 0 0 5px rgb(184 156 75 / 19%); border-radius: 10px; animation: fade-in 3s; animation-fill-mode: forwards;}
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; }}

.c-flow-list-content:last-child { margin-bottom: 0; }
.c-flow-list-content:last-child:after { display: none; }
.c-flow-list-content .c-flow-list-thumbnail { max-width: 150px; width: 100%; border-radius: 100px; }
.c-flow-list-thumbnail img { border-radius: 150px; }
.c-flow-list-h5-area {max-width: 290px; width:100%; margin-top: 0; background: #B89C4B; background: linear-gradient(315deg,rgba(184, 156, 75, 0.24) 0%, rgba(184, 156, 75, 0.73) 100%); border-radius: 10px; position: relative; bottom: 15px; left: -20px; display:flex; justify-content: center; align-items:center;}
.c-flow-timeframe {position:absolute; font-family:"Oswald", sans-serif; font-size: 4.275rem; font-optical-sizing: auto; font-weight: 700; font-style:normal; line-height:0.8; color:rgb(255 255 255 / 46%); margin-block-end:0; letter-spacing: 0; top:0; left:0; }
.c-flow-list-h5-area h5 { margin-top: 0;}
.c-flow-list-h5-area::after {position:absolute; content:''; width:10px; height:45px; left:50%; bottom:-45px; background: rgb(216 201 157 / 53%);}
.c-flow-list-content:last-child .c-flow-list-h5-area::after {display: none;}
.c-flow-list-horizontal { display: flex; justify-content: space-between; align-items: stretch; gap: 4%; }
.c-flow-list-horizontal .c-flow-list-content { position: relative; width: 18%; display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; margin-bottom: 0; }
.c-flow-list-horizontal .c-flow-list-content::after { position: absolute; content: ''; width:0; height:0; border-style:solid; border-width: 40px 0 40px 20px; border-color: transparent transparent transparent #B78F00; top: 50%; bottom: initial; transform: translateY(-50%); left: initial; right: -15%; }
.c-flow-text-area {width:stretch; padding: 40px 30px 30px 0; letter-spacing: 0.05em; }
.c-flow-text-area-detail {display:grid; gap:15px; grid-template-columns: 95px 1fr; align-items: stretch;}

.c-flow-detail-text {font-size:0.875rem;}
.c-flow-list-h4-area {text-align: center;}
.c-flow-list-h4-area h4 {font-weight: 700; margin-block-end: 10px;}
.c-flow-subtitle {width:220px; font-weight:700; background-color:#FFF; border-radius:20px;}

.c-flow-detail-title {width:95px; font-size:0.875rem; background-color:rgb(64 64 64 / 7%); border-radius:10px; font-weight: 700; letter-spacing:0; display:flex; justify-content:center; align-items:center; margin-bottom: 0;}

@media screen and (max-width: 1300px) {
}
@media screen and (max-width: 768px) {
  .c-flow-list-text-content {flex-wrap: wrap; gap:0;}
  .c-flow-list-h5-area {max-width:100%; height:130px; left:0;}
  .l-solution-area-intro {line-height:1.6;}
  .c-flow-text-area {padding:0 15px 15px 15px;}
  .c-flow-list-h5-area::after {
    width: 10px;
    height: 30px;
    left: 30px;
    bottom: initial;
    top: -30px;
  }
  .c-flow-list-content {margin-inline-start:10px;}
  .c-flow-list-content:first-child .c-flow-list-h5-area::after {display: none;}
  .c-flow-list-content:last-child .c-flow-list-h5-area::after {display: block;}
  .c-flow-list-h5-area {left:-10px;}
  .c-flow-text-area-detail {grid-template-columns: 1fr;}
  .c-flow-detail-title {border-radius:5px; padding:11px 13px;}
}

/*---------------------------------*/
/*----------  APPROACH  -----------*/
/*---------------------------------*/
.c-cardlist {display:grid; grid-template-columns: repeat(auto-fit, minmax(200px, 540px)); gap:40px; justify-content:center;}
.c-cardlist__item {position:relative; display: grid; grid-template-rows:subgrid; grid-row:span 1;}
.c-cardlist__link {width:100%; height:100%; text-decoration:none; transition: 1s ease; opacity:1;}
.c-cardlist__link:hover {opacity: 0.7;}
.c-cardlist__image {position:relative; background:#FFF; width:230px; height:46px; border-radius:10px; display:flex; justify-content:center; margin:0 auto; top:-23px; box-shadow: 0 3px 6px hsla(0, 0%, 0%, 0.16);}
.c-cardlist__image::after {position:absolute; content:''; left:50%; bottom:-12px; transform:translateX(-50%); width:0; height:0; border-style: solid; border-width: 12px calc(14px / 2) 0 calc(14px / 2); border-color: #FFFFFF transparent transparent transparent;
}
.c-cardlist__item:nth-child(1) .c-cardlist__image img {width: 208px;}
.c-cardlist__item:nth-child(2) .c-cardlist__image img {width: 116px;}
.c-cardlist__item:nth-child(3) .c-cardlist__image img {width: 144px;}
.c-cardlist__item:nth-child(4) .c-cardlist__image img {width: 163px;}
.c-cardlist__title {position:relative; color:#000; padding-block-end:21px; font-size:1.125rem; margin-block-end:20px; padding-inline:15px; text-align:center; font-weight:900; letter-spacing:0.05em;}
.c-cardlist__title::after {position:absolute; content:''; left:50%; bottom:0; transform: translateX(-50%); width:100px; height:2px; background-color:var(--text-accent);}
.c-cardlist__description {color:#000; padding-inline:20px; padding-block-end:35px; letter-spacing: 0.05em;}
.c-cardlist--4col {display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 300px)); gap:0; justify-content:center; padding-top: 25px;}
.c-cardlist__item {background-color:#F8F5EC;}
.c-cardlist__item:nth-child(2n) {background-color:#F1EBDB;}
.c-cardlist--4col > .c-cardlist__item:first-child {border-radius: 10px 0 0 10px;}
.c-cardlist--4col > .c-cardlist__item:last-child {border-radius: 0 10px 10px 0;}

@media screen and (max-width: 1365px) {
  .c-cardlist {grid-template-columns: repeat(2, 1fr); gap:30px;}
  .c-cardlist--4col {grid-template-columns:1fr 1fr;}
}
@media screen and (max-width: 1365px) and (min-width:769px) {
  .c-cardlist--4col > .c-cardlist__item:first-child {border-radius: 10px 0 0 0;}
  .c-cardlist--4col > .c-cardlist__item:nth-child(2) {border-radius: 0 10px 0 0;}
  .c-cardlist--4col > .c-cardlist__item:nth-child(3) {border-radius: 0 0 0 10px; background-color:#F1EBDB;}
  .c-cardlist--4col > .c-cardlist__item:last-child {border-radius: 0 0 10px 0; background-color:#F8F5EC;}
}

@media screen and (max-width: 768px) {
  .c-cardlist--4col {grid-template-columns:1fr;}
  .c-cardlist {grid-template-columns:1fr; gap:15px;}
  .c-cardlist__image {width:275px;}
  .c-cardlist--4col > .c-cardlist__item:first-child {border-radius: 10px 10px 0 0;}
  .c-cardlist--4col > .c-cardlist__item:last-child {border-radius: 0 0 10px 10px; background-color:#F8F5EC;}
}

.p-cm-support-area {overflow:hidden;}
.p-cm-support-area__container {max-width:1600px; width:100%; padding-inline:10px; overflow:hidden;}

@media screen and (max-width: 768px) {
  .p-cm-support-area__container {padding-inline:0px;}
}
/*---------------------------------*/
/*----------    TEAM    -----------*/
/*---------------------------------*/
.p-team-area {background-color:#FCFAF6;}
.p-team-area .l-container {max-width:1000px;}
.l-img-text-area { display:flex; flex-wrap:wrap; gap:10px; }
.c-img-text-container { display: flex; align-items: center; gap: 20px;}
.c-img-text-container .c-img-area_pc {max-width: 220px; aspect-ratio: 1; width: 100%; height: auto; float: left; }
.c-img-text-container .c-img-area_sp {display:none;}
.c-img-text-container .c-flow-text-area { width: 100%; clear: right; }
.c-img-text-container .c-flow-text-area h3 { margin-top: 0; }
.c-img-text-container:nth-child(even) .c-flow-img-area { float: right; margin: 0 0 15px 30px; }
.c-img-text-container:nth-child(even) .c-flow-text-area { clear: left; }
.c-title--deco {position:relative; padding-bottom: 17px; margin-bottom:15px;}
.c-title--deco::before {position:absolute; content:''; bottom:0; left:0; background-color:var(--text-accent); width:50px; height:2px; }
.c-title--deco::after {position:absolute; content:''; bottom:0; left:50px; background-color:#CCCCCC; width:50px; height:2px; }

@media screen and (max-width: 768px) {
  .c-img-text-container .c-img-area_pc {display:none;}
  .c-title--wrapper {display: flex; align-items: center; }
  .c-img-text-container .c-img-area_sp {display:block; max-width:100px; aspect-ratio: 1; width: 100%; height: auto;}
}

/*---------------------------------*/
/*-----------  SUPPORT  -----------*/
/*---------------------------------*/
.splide__slide {position:relative; bottom:0; background:#FFF; opacity: 1; box-shadow:0 3px 6px hsla(0, 0%, 0%, 0.16); transition:0.2s ease;}
.splide__slide:hover {bottom:5px; opacity: 0.7; transition:0.2s ease;}
.c-slide-title {position:relative; font-size:1rem; font-weight:700; margin:0; letter-spacing: 0.05em; padding-inline-start:20px; margin-block-end:10px;}
.splide__slide .c-slide-title::before {position:absolute; content:''; top:0; left:0; width:5px; height:24px; background-color:#74D4ED;}
.splide__slide .c-slide-title.u-gray::before {background-color:#CEC9C5;}
.splide__slide .c-slide-title.u-lblue::before {background-color:#8CECFD;}
.splide__slide .c-slide-title.u-green::before {background-color:#2EB254;}
.c-slide-description {font-size:0.875rem; letter-spacing: 0.05em; padding-inline:20px;}
.c-slide-imgtext-area {padding-block:20px 30px;}
.splide__slide > a {text-decoration: none;}

/*---------------------------------*/
/*-----------    FAQ    -----------*/
/*---------------------------------*/
/** accordion (no-js) **/
.p-faq-area {background-color:#FCFAF6;}
.c-faq-accordion-area {display:grid; grid-template-columns:1fr; gap:20px;}
.c-faq-accordion-box { transition: 0.4s ease; box-shadow: 0 0 5px rgb(0 0 0 / 16%); border-radius: 10px;}
.c-faq-accordion-box p {margin-bottom:15px;}
.c-faq-accordion-box p:last-child {margin-bottom:0; line-height:1.4; font-weight:500;}
.c-faq-accordion-box a { color:#0E6EC8; }
.c-faq-accordion-box a:hover { text-decoration: underline; }
.c-faq-accordion-toggle { display: none; }
.c-faq-accordion-Label { padding:28px 3em 28px 4em; display: block; font-weight: 700; line-height: 150%; background:#FFF; border-radius: 8px; }
.c-faq-accordion-Label::before { position:absolute; content:""; background: url(../images/accordion_arrow.svg)no-repeat center; width:40px; height:40px; top:20px; right:20px; background-size:cover; transition: 0.5s ease; }
.c-faq-accordion-Label::after {content:"Q"; color: var(--text-accent); position: absolute; font-size: 20px; font-weight:700; top:50%; left:15px; transform: translateY(-50%); width: 40px; height: 40px; background:#F8F5ED; display: flex; justify-content: center; align-items: center; border-radius: 5px;}
.c-faq-accordion-box:hover .c-faq-accordion-Label { cursor: pointer; }
.c-faq-accordion-Label, .c-faq-accordion-content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); opacity: 1;}
.c-faq-accordion-Label:hover { opacity: 0.5; }
.c-faq-accordion-content { height: 0; padding:0 20px; overflow: hidden; }
.c-faq-accordion-toggle:checked + .c-faq-accordion-Label { border-bottom:none; border-radius:8px 8px 0 0; margin-bottom:0; }
.c-faq-accordion-toggle:checked + .c-faq-accordion-Label + .c-faq-accordion-content { position:relative; height:auto; padding:0 1em 1.5em 4em; line-height: 150%; background-color: #FFF; border-top: none; border-radius:0 0 8px 8px; }
.c-faq-accordion-toggle:checked + .c-faq-accordion-Label + .c-faq-accordion-content::after {content:"A"; color: var(--text-accent); position:absolute; font-size:20px; font-weight:700; top:0; left:15px; width:40px; height:40px; background:#FFF; border: 1px solid var(--text-accent); display: flex; justify-content: center; align-items: center; border-radius: 5px;}
.c-faq-accordion-toggle:checked + .c-faq-accordion-Label::before { transform: rotate(-180deg); }
.c-faq-answertitle { position: relative; font-size: 18px; font-weight: 700; margin-bottom: 15px; padding-left: 25px; }
.c-faq-answertitle::before { position: absolute; color: #0E6EC8; content: '■'; left: 0; top: 0; }
.c-faq-subtext { font-weight: 700; }
.c-faq-list { margin-bottom: 15px; }
.c-faq-list li { position: relative; padding-left: 20px; margin-bottom: 5px; }
.c-faq-list li::before { position: absolute; color: #0E6EC8; content: '・'; left: 0; top: 0; }
.c-faq_caution { font-size: 14px; margin-bottom: 20px; }

@media screen and (max-width: 768px) {
  .c-faq-accordion-Label {padding:15px 55px;}
  .c-faq-accordion-Label::before {top:15px; right:15px; width:30px; height:30px;}
  .c-faq-accordion-Label::after {top:15px; transform:initial; width:30px; height:30px;}
  .c-faq-accordion-toggle:checked + .c-faq-accordion-Label + .c-faq-accordion-content::after {width:30px; height:30px;}
}

/*========================================================================
	footer
========================================================================*/
footer section {background-color:#EEEEEE;}
footer section:last-child {background-color:FFF;}

/* 追加記述 */
.external-link {position:relative; padding-right:0}
.external-link::after {position:absolute; content:''; background: url(../images/common/external_link.svg)no-repeat center center; right: -24px; top:50%; transform: translateY(-50%); width:20px; height: 16px;}
/* 追加記述ここまで */

.l-footer__lower {position:relative; background:#FFF; color:#000; padding-top:70px; padding-bottom:65px; z-index:20;}
.l-footer__lower .outer { max-width:1160px; width:100%; margin:0 auto;}
.l-footer__companyInfo { margin-bottom: 100px;}
.l-footer__infoLogo {max-width:158px; height:auto; margin-bottom:20px;}
.l-footer__companyName {margin-bottom: 0; color:#000;}
.l-footer__companyAddress {margin-bottom:0;color:#000;}
.l-footer__companyTelLink {text-decoration:none; color:#000;}
.l-footer__menuList {display: flex; gap: 40px;}
.l-footer__menuListTitle {margin-bottom: 20px;}
.l-footer__menuListTitle.single_link {margin-bottom:0;}
.l-footer__menuItemLink {color:#000; font-weight:700; text-decoration: none;}
.l-footer__menuListDetail {margin-bottom:15px;}
.l-footer__menuItemDetalLink {text-decoration:none; color:#000; font-size:0.875rem;}

.footer__SNS {max-width:1150px; width:100%; margin:0 auto; display:flex; justify-content:flex-end;}
.footer__SNSItem {display:block; width:50px; text-align:center;}
.footer__SNSImage {width:40px;}

@media only screen and (max-width: 1366px) {
  .footer__SNS {justify-content:center;} 
  .l-footer__upper .btn-area .btn-link {max-width: 320px; margin:30px 0;}
  .l-footer__upper .btn-area:last-child .btn-link {margin:0;}
  .l-footer__lower .outer {padding-inline: 20px;}
}

@media only screen and (max-width: 768px) {
  .l-footer__lower {padding-inline:20px;}
  .l-footer__upper {padding:56px 10px 50px;}
  .l-footer__upper .l-container {gap:30px;}
  .l-footer__logo img {margin-bottom:15px; max-width:135px; width:100%;}
  .l-footer__catch {font-size:0.75rem;}
  .l-footer__menuList {flex-wrap: wrap; gap: 20px;}
  .l-footer__menuItem {width: 100%;}
  .l-footer__companyInfo {margin-bottom: 50px;}
  .l-footer__upper .btn-area .btn-link, .l-footer__upper .btn-area:last-child .btn-link {margin: 0 auto;}
}

/* flow-diagram styles */
.flow-diagram {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 40px 0;
}
.flow-step {
  display: flex;
  align-items: flex-start;
  background: #faf7f2;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: 24px 20px;
  position: relative;
}
.flow-step__num {
  font-size: 2.8rem;
  font-weight: bold;
  color: #d6c29a;
  min-width: 60px;
  text-align: center;
  margin-right: 24px;
  line-height: 1;
}
.flow-step__body {
  flex: 1;
}
.flow-step__title {
  font-size: 1.3rem;
  font-weight: bold;
  color: #7a6a4a;
  margin-bottom: 8px;
}
.flow-step__period {
  font-size: 1rem;
  color: #bfae8c;
  margin-bottom: 8px;
}
.flow-step__desc {
  font-size: 1rem;
  margin-bottom: 8px;
}
.flow-step__support {
  font-size: 0.95rem;
  color: #555;
  background: #f5f1e7;
  border-radius: 6px;
  padding: 8px 12px;
}
@media (max-width: 768px) {
  .flow-diagram {
    gap: 20px;
  }
  .flow-step {
    flex-direction: column;
    padding: 16px 10px;
  }
  .flow-step__num {
    font-size: 2rem;
    min-width: 40px;
    margin-right: 0;
    margin-bottom: 8px;
  }
}
.footer__copy {text-align: center; letter-spacing: 0.05em;}