@charset "utf-8";

:root {--text:#191919; --titlebg:#191919; --darkgray:#404040; --accent:#EBC87C; --blonze:#BAAC8E;}

/** 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%; scroll-padding-block-start: 100px; position: relative;}

a {transition:0.5s ease;}
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;}

h1 {font-size:5.5rem; line-height: 1.3; font-weight:500; margin-block-end:30px; text-align:center; font-family:"Noto Serif JP", sans-serif;}
h1:last-child {margin-block-end:0;}
h2 {font-size: clamp(30px, calc(30px + (36 - 30) * ((100vw - 1200px) / (1920 - 1200))), 36px); font-family:"Noto Serif JP", sans-serif; margin-block-end:60px; line-height:1; font-weight:900; text-align:center;}
h3 {font-size:1.375rem; margin-block-end:30px; line-height: 1.5; font-weight:700;}

.u-accent {color: var(--text-accent);}
.pc_block {display: block;}
.tb_sp_block {display:none;}
.sp_block {display: none;}

@media screen and (max-width: 1080px) {
  h1 {font-size:4rem;}
  h2 {font-size:1.75rem;}
  h3 {font-size:1.125rem;}
  .tb_sp_block {display:block;}
}

@media screen and (max-width: 768px) {
.pc_block {display: none;}
.sp_block {display: block;}
}

/** button **/
button {cursor: pointer;}


/*******************/
/** header / navi **/
/*******************/

.l-header {width:100%; height:100px; position:fixed; padding-inline:40px; display:flex; justify-content:space-between; align-items: center; gap:30px; z-index:20; top:0; background: #404040; background: linear-gradient(180deg, rgba(64, 64, 64, 1) 0%, rgba(64, 64, 64, 0.75) 50%, rgba(64, 64, 64, 0) 100%);}
.l-header__logo {display:flex; align-items:center; position:relative;}
.l-header.scrolled {background: #000000; background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);}
.c-logo img { display:block; height:auto; width:100%;}
.c-nav { display:flex; gap:30px; justify-content:flex-end; align-items:center;}
.c-nav__list {display:flex; gap:10px 20px; flex-wrap:wrap; justify-content:flex-end;}
.c-nav__link a {position:relative; color:#FFF; transition: 0.5s ease;}
.c-nav__link a:hover {color: var(--blonze);}
.c-nav__link a::after {opacity:0; transition: 0.5s ease;}
.c-nav__link a:hover::after {opacity:1; position:absolute; content:'・'; font-size:1.25rem; left:50%; bottom:-20px; transform:translateX(-50%); transition: 0.5s ease;}

@media screen and (max-width: 1366px) and (min-width: 769px) {
  .c-nav__list {gap:10px 15px;}
  .c-nav__link a {font-size:0.75rem;}
}

@media screen and (max-width: 768px) {
  .l-header__logo {max-width:130px;}
}

/*---------------------------------*/
/*------     cta button     -------*/
/*---------------------------------*/
.c-nav__cta_btns {display:flex; justify-content:center; align-items:stretch; gap:10px; }
.c-nav__cta_btn {width:220px; height:48px; border-radius:50px; opacity:1; transition: 0.5s ease;}
.c-nav__cta_btn:hover {opacity: 0.7;}
.c-nav__cta_btn a {position:relative; display: flex; justify-content: center; align-items: center; color:#FFF; font-weight: 700; text-decoration: none; width: 100%; height: 100%;}
.c-nav__cta_btn span {position:relative; letter-spacing:-0.001em; padding-right:22px;}
.c-nav__cta_btn span::after {position:absolute; content: ''; width: 0; height: 0; border-style: solid; border-width: calc(10px / 2) 0 calc(10px / 2) 12px; border-color:transparent transparent transparent #FFF; top:50%; right:0; transform: translateY(-50%);}
.u-primary-red {position:relative; background: #C50000; /*background:linear-gradient(90deg, rgba(128, 0, 0, 1) 0%, rgba(243, 0, 0, 1) 100%);*/ border: 1px solid #FFF;}
.u-secondary-blue {position:relative; background: #002D54; background:linear-gradient(90deg, rgba(0, 45, 84, 1) 0%, rgba(0, 86, 162, 1) 100%); border: 1px solid #FFF;}
.u-secondary-bronze {position:relative; background: #C79D43; border: 1px solid #FFF;}

@media screen and (max-width: 1366px) and (min-width: 769px) {
  .c-nav__cta_btn {width: 150px; height: 48px;}
  .c-nav__cta_btn a {font-size:0.75rem;}
  .c-nav__cta_btn span {padding-right: 12px;}
  .c-nav__cta_btn span::after {border-width:calc(5px / 2) 0 calc(5px / 2) 6px;}
}

@media screen and (max-width: 768px) {
  .c-nav__cta_btns {display:none}
}

/*---------------------------------*/
/*------ ハンバーガーメニュー ------*/
/*---------------------------------*/
.c-hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  z-index: 30;
  cursor: pointer;
}
.c-hamburger__bar {
  display: block;
  width: 28px;
  height: 3px;
  margin: 4px 0;
  background: #fff;
  transition: all 0.3s;
}
.c-hamburger.is-open .c-hamburger__bar:first-child {transform: rotate(45deg); position: absolute;}
.c-hamburger.is-open .c-hamburger__bar:nth-child(2) {display: none;}
.c-hamburger.is-open .c-hamburger__bar:last-child {transform: rotate(-45deg); position: absolute;}
.c-nav--sp {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #404040;
  background: linear-gradient(180deg, rgba(64, 64, 64, 1) 0%, rgba(13, 13, 13, 1) 100%);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  z-index: 25;
  transition: opacity 0.3s;
  padding-top: 80px;
  padding-inline: 30px;
  text-align: left;
}
.c-nav--sp[aria-hidden="false"] {
  display: flex;
}
.c-nav--sp .c-nav__list,
.c-nav--sp .c-nav__cta_btns {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap:0;
}
.c-nav--sp::before {position: absolute; content:''; background: url(../images/logo.svg)no-repeat center center; background-size:cover; top: 18px; left: 20px; width: 130px; height: 24px;}
.c-nav--sp .c-nav__cta_btns {display:flex; align-items:center; gap:20px;}
.c-nav--sp .c-nav__cta_btn a {font-size:1.25rem; color:#fff;}
.c-nav--sp .c-nav__link { 
  width: 100%;
  border-top: 1px solid #F5F5F5;
}
.c-nav--sp .c-nav__link:last-child {
  border-bottom: 1px solid #F5F5F5;
}
.c-nav--sp .c-nav__link a {
  position: relative;
  font-size: 1rem;
  width: 100%;
  padding: 20px 20px 20px 10px;
  display: block;
}
.c-nav--sp .c-nav__link a::after {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: calc(8px / 2) 0 calc(8px / 2) 9px;
  border-color: transparent transparent transparent #FFF;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  opacity: 1;
}
.c-nav--sp .c-nav__cta_btn {max-width:320px; width:100%;}
.c-nav--sp .c-nav__cta_btn::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: calc(8px / 2) 0 calc(8px / 2) 9px;
    border-color: transparent transparent transparent #FFF;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.c-nav--sp .c-nav__cta_btn span {font-size:1rem; padding-right:0;}
.c-nav--sp .c-nav__cta_btn span::after {display:none;}

.c-nav--pc { display: flex;}
@media screen and (min-width: 1081px) {
  .c-hamburger {display: none;}
}
@media screen and (max-width: 1080px) {
  .c-nav--pc { display: none; }
  .c-hamburger { display: flex; }
  .c-nav--sp { /* display: none; → aria-hiddenで制御 */ }
}

@media screen and (max-width: 768px) {
  .l-header {height:60px; padding-inline:20px 10px; background:#404040; background:linear-gradient(180deg, rgba(64, 64, 64, 1) 0%, rgb(58 58 58) 100%);}
}

/*******************/
/**    contents   **/
/*******************/
main, article, .l-article, .l-outer, section {width:100%;}
.l-wrapper {padding-block: clamp(40px, 4vw, 80px); padding-inline:clamp(15px, 4vw, 40px);}
.l-container {max-width:1200px; width:100%; margin:0 auto; }
.l-content {margin-block-end: 60px;}
.l-content:last-child {margin-block-end:0;}
.l-content > :last-child {margin-block-end:0;}

@media screen and (max-width: 768px) {
  .l-wrapper {padding:20px;}
}

/*---------------------------------*/
/*-------- Top Mainvisual ---------*/
/*---------------------------------*/
.p-mainvisual {width:100%; height:100%; background:#404040; background: linear-gradient(180deg, rgba(64, 64, 64, 1) 0%, rgba(0, 0, 0, 1) 100%); color:#FFF; overflow:hidden;}
.p-mainvisual__container {width:100%; height:auto; padding:100px 40px 40px;}
.p-mainvisual__inner {position:relative; max-width:1180px; width:100%; height:100%; margin:0 auto;}

.p-mainvisual__verticalName {position:absolute; width:100%; height:100%; margin:0; z-index:0;}
.p-mainvisual__verticalName::before {position:absolute; content:''; background:url(../images/mv_img_left.webp)no-repeat top left; width: 658px; height: 680px; z-index:-1; top: 0; left:-28%;}
.p-mainvisual__verticalName::after {position:absolute; content:''; background:url(../images/mv_img_right.webp)no-repeat top left; width: 658px; height: 680px; z-index:-1; top: 0; right:-28%;}
.p-mainvisual__verticalName_left {position:absolute; background-color: var(--titlebg); color:#FFF; writing-mode:vertical-rl; text-orientation:upright; top:0; left:0; font-family:"Noto Serif JP", sans-serif; font-weight:600; font-size:1.375rem; line-height: 1; padding:24px 17px; margin:0; box-shadow:-2px 2px 0 var(--accent); z-index:2;}
.p-mainvisual__verticalName_right {position:absolute; background-color: var(--titlebg); color:#FFF; writing-mode:vertical-rl; text-orientation:upright; bottom:0; right:0; font-family:"Noto Serif JP", sans-serif; font-weight:600; font-size:1.375rem; line-height: 1; padding:24px 17px; box-shadow:2px 2px 0 var(--accent);}
.p-mainvisual__catchcopy_area {position:relative; display:flex; justify-content:center; align-items:flex-start; padding-bottom:40px; margin-bottom:30px; gap:50px; z-index:2;}
.p-mainvisual__catchcopy {position:relative; max-width:350px; width:100%; background-color: var(--accent); color: var(--text); font-size:1.75rem; font-family:"Noto Serif JP", sans-serif; font-weight: 700;  text-align: center; margin-bottom:0; letter-spacing:-0.015em;}
.p-mainvisual__catchcopy::before {position:absolute; content:''; background: url(../images/mv_catchcopy_triangle.svg)no-repeat top left; width:16px; aspect-ratio: 1; top:4px; left:4px;}
.p-mainvisual__catchcopy:first-child::after {position:absolute; content:''; background: url(../images/mv_catchcopy_cross.svg)no-repeat center; width:34px; aspect-ratio: 1; top:50%; right:-42px; transform: translateY(-50%);}
.p-mainvisual__catchcopy_support {position:absolute; color:#FFF; right:0; bottom:-50px; font-weight:500;}
.p-mainvisual__subcatch {position:relative; color:#FFF; font-size:3rem; font-family:"Noto Serif JP", sans-serif; text-align:center; line-height:1; z-index:2;}
.u-title__upper__large {font-size:5rem; color:var(--accent); padding-inline:10px; line-height:1;}
.u-title__upper__small {font-size:2rem;}
.p-mainvisual__title {position:relative; line-height:0.5; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; z-index:2; margin-bottom:40px;}
.p-mainvisual__title span > span {display:flex; justify-content:center; align-items:center; width:118px; aspect-ratio:1;border: 1px solid #FFF; margin:2.5px;}
.p-mainvisual__title .p-mainvisual__title__accent {width:100%; color:var(--accent); border:none; aspect-ratio:initial; margin-top:-10px;}
.p-mainvisual__title_upper, .p-mainvisual__title_lower {display:flex; justify-content:center;}
.p-mainvisual__cta_btns {display:flex; justify-content:center; align-items:stretch;}
.p-mainvisual__cta_btn {width:480px; height:80px; border-radius:50px; opacity:1; transition: 0.5s ease;}
.p-mainvisual__cta_btn:hover {opacity: 0.7;}
.p-mainvisual__cta_btn a {position:relative; display:flex; justify-content:center; align-items: center; color:#FFF; font-size:1.5rem; font-weight:700; text-decoration:none; width:100%; height:100%; outline:1px solid; outline-offset: 6px; border-radius: 100px;}
.p-mainvisual__cta_btn a::after {position:absolute; content: ''; width: 0; height: 0; border-style: solid; border-width: calc(16px / 2) 0 calc(16px / 2) 20px; border-color: transparent transparent transparent #FFF; top: 50%; right: 30px; transform: translateY(-50%);}
.p-mainvisual__cta_btn.u-secondary-blue {background:initial; background-color:#005AA8; border:none;}

/** responsive **/
@media screen and (max-width: 1080px) {
  .p-mainvisual__verticalName::before {left:-40%;}
  .p-mainvisual__verticalName::after {right:-40%;}
  .p-mainvisual__catchcopy {max-width:250px; font-size:1.25rem;}
  .p-mainvisual__catchcopy_support {bottom:-40px;}
  .p-mainvisual__title span > span {max-width:90px;}
  .p-mainvisual__subcatch {font-size:2.5rem; margin-bottom:10px;}
  .u-title__upper__large {font-size:4rem;}
}
@media screen and (max-width: 768px) {
  .p-mainvisual__container {padding:15px;}
  .p-mainvisual__catchcopy {font-size: 0.825rem; padding-block:2px;}
  .p-mainvisual__catchcopy::before {width:9px; background-size:cover;}
  .p-mainvisual__catchcopy:first-child::after {display:none;}
  .p-mainvisual__content-area {width:100%; padding-top:60px;}
  .p-mainvisual__verticalName {position:relative; max-width:400px; width:100%; aspect-ratio: 341 / 357; margin:0 auto 20px; background:url(../images/mainvisual_sp.webp)no-repeat center center; background-size: cover;}
  .p-mainvisual__verticalName_left, .p-mainvisual__verticalName_right {font-size:1rem; padding:12px 10px;}
  .p-mainvisual__verticalName_left {top:initial; bottom:0;}
  .p-mainvisual__verticalName_right {bottom:initial; top:0;}
  .p-mainvisual__verticalName::before, .p-mainvisual__verticalName::after {display: none;}
  .p-mainvisual__catchcopy_area {padding-bottom:20px; max-width:500px; margin:0 auto 10px; display: grid; grid-template-columns: 1fr 1fr; gap:30px;}
  .p-mainvisual__catchcopy_area::after {position:absolute; content:''; background:url(../images/mv_catchcopy_cross.svg) no-repeat center; width:16px; aspect-ratio:1; top:5px; left:50%; transform:translateX(-50%);}
  .p-mainvisual__catchcopy_support {bottom:-25px;} 
  .p-mainvisual__cta_btn a::after {border-width: calc(5px / 2) 0 calc(5px / 2) 6px; right:10px;}
  .p-mainvisual__subcatch {font-size:1.3125rem; margin-bottom:5px;}
  .u-title__upper__large {font-size:2.25rem;padding-inline:5px;}
  .u-title__upper__small {font-size:1rem;}
  .p-mainvisual__title {margin-bottom:20px; flex-direction:column; line-height:0.075;}
  .p-mainvisual__title span > span {max-width:52px; font-size:2.375rem;}
  .p-mainvisual__title .p-mainvisual__title__accent {position:absolute; font-size:2.375rem;}
  .p-mainvisual__cta_btns {gap: 10px;}
  .p-mainvisual__cta_btn {max-width:160px; height:48px;}
  .p-mainvisual__cta_btn a {font-size:0.75rem; letter-spacing:-0.025em;}
}

/*---------------------------------*/
/*---------     case     ----------*/
/*---------------------------------*/
.p-case-area {position:relative; background: url(../images/case_bgimg.webp)repeat-y center top; background-size: cover; z-index:2; padding-block:0;}
.p-case-area::after {content: ""; position: absolute; height:160px; width: 100%; clip-path: polygon(50% 100%, 100% 0%, 0% 0%); background:url(../images/case_bgimg.webp)no-repeat top center; left: 0; bottom:-160px;}
.p-case__title {display:inline-block; text-align:left; font-weight: 500; line-height: 1.7;}
.p-case__title span {background-color:var(--titlebg); color:#FFF; padding:5px 10px;}
.p-case__title span.u-accent {color:var(--blonze); font-size: 2.5rem;}
.p-case__title span > span {background-color:initial;} 
.p-case-list {position:relative; display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; z-index:4;}
.p-case-list__item {position:relative; background-color:#FFF; padding:50px 30px 30px; box-shadow:0 0 20px #CBCBCB;}
.p-case-list__item::before {position: absolute; content:''; width:0; height:0; border-style: solid; border-width: 80px 80px 0 0; border-color: #BAAC8E transparent transparent transparent; top:0; left:0;}
.p-case-bg_wrapper {position:relative; top:120px;}
.p-case-list__item .p-case-list__image {position:relative; margin-block-end:20px; }
.p-case-list__item .p-case-list__image img {display:block; margin: 0 auto; }
.p-case-list__item:first-child .p-case-list__image img { width: 136px; height: auto; }
.p-case-list__item:nth-child(2) {top:-70px;}
.p-case-list__item:nth-child(2) .p-case-list__image img { width: 175px; height: auto; }
.p-case-list__item:last-child {top:-140px;}
.p-case-list__item:last-child .p-case-list__image img { width: 207px; height: auto; }
.p-case-list__title {text-align:center;}

@media screen and (max-width: 1080px) {
  .p-case-list {gap:20px;}
}

@media screen and (max-width: 768px) {
  .p-case-bg_wrapper {top:40px;}
  .p-case__title {font-size: 1.5rem; margin-bottom:40px;}
  .p-case__title span.u-accent {font-size: 2rem; padding:0;}
  .p-case-list {grid-template-columns:1fr;}
  .p-case-list__item:nth-child(2), .p-case-list__item:last-child {top:initial;}
  .p-case-area {background-size: contain;}
}

/*---------------------------------*/
/*---------   strength   ----------*/
/*---------------------------------*/
.p-strength-area {position: relative; background:url(../images/strength_bgimg.webp)repeat-y center top; background-size: cover; padding-top:260px;}
.p-strength-area::after {position: absolute; content: ''; background: url(../images/strength_bg_triangle.svg) no-repeat bottom left; width:920px; aspect-ratio: 1; bottom: 0; left: 0; z-index: 0}
.p-strength-h2Area {position: relative;}
.p-strength__title {position: relative;text-align:right; font-weight:500; line-height:1.5; margin-block:0; margin-right:34px;}
.p-strength__title span {background-color:var(--titlebg); color:#FFF; padding:5px 10px;}
.p-strength__title span > span {background-color:initial; padding:0;}
.p-strength__title .u-strength__title__lower {color: #FFF; padding: 20px 12px 8px;}
.p-strength__title .u-strength__title__accent {font-size: 2.5rem; color:var(--blonze);}
.p-strength__title .u-strength__title__accent .u-strength__title__large {font-size: 4rem; color:var(--blonze);}
.p-strength-h2Area-subtitle__vertical {position:absolute; writing-mode:vertical-rl; text-orientation:upright; top:0; right:0; font-family:"Noto Serif JP", sans-serif; font-weight:600; font-size: 1.375rem; line-height: 1;}

.p-strength-list-text-content {display:grid; position:relative; grid-template-columns:1fr; gap:30px; z-index:2;}
.p-strength-list-area {background:#000; display: flex; align-items: center;}
.p-strength-list-area:first-child {background: url(../images/strength_img01.webp) no-repeat center center; background-size: cover; justify-content: flex-start;}
.p-strength-list-area:nth-child(2) {background: url(../images/strength_img02.webp) no-repeat center center; background-size: cover; justify-content: flex-end;}
.p-strength-list-area:last-child {background: url(../images/strength_img03.webp) no-repeat center center; background-size: cover; justify-content: flex-start;}
.p-strength-list-area .p-strength-list-area__inner {max-width:830px; width:100%; padding:30px 40px;}
.p-strength-list-area p {color:#FFF;}
.p-strength-list-area .p-strength-list-timeframe {font-size: 4rem; font-family:"Noto Serif JP", sans-serif; font-weight: 500; color:var(--blonze); line-height:1;}
.p-strength-list-area .p-strength-list-h3 {font-size:1.75rem; font-family:"Noto Serif JP", sans-serif; font-weight: 500; color:#FFF;}
.p-strength-list-area__img {display: none;}

@media screen and (max-width:1080px) {
  .p-strength-area::after {width:50vw; background-size:cover;}
}

@media screen and (max-width:768px) {
  .p-strength-area {padding-top:200px; margin-bottom:30px;}
  .p-strength-h2Area {display:flex; flex-direction: column; gap:5px;}
  .p-strength-h2Area-subtitle__vertical {position:relative; writing-mode:initial; text-align:right; order:1;}
  .p-strength__title {font-size:1.25rem; order:2; margin-right:0; line-height:2.2;}
  .p-strength__title .u-strength__title__lower {line-height:0.8; background-color:initial; padding: 0;}
  .p-strength__title .u-strength__title__lower span {line-height:0.8; background-color:initial; background-color: var(--titlebg); padding: 5px 10px; line-height: 1.2; }
  .p-strength__title .u-strength__title__lower .u-strength__title__accent {font-size: 1.5rem; line-height:0.8; background-color:initial; background-color: var(--titlebg); padding: 15px 10px 5px; line-height: 1.2; }
  .p-strength__title .u-strength__title__lower span .u-strength__title__large {font-size: 3rem; background-color: initial;}
  .p-strength-list-area:first-child, .p-strength-list-area:nth-child(2), .p-strength-list-area:last-child {background: #181818; display: flex; flex-direction:column;}
  .p-strength-list-area__img {display: block;}
  .p-strength-list-area .p-strength-list-timeframe {font-size:3rem; margin-bottom:10px;}
  .p-strength-list-area .p-strength-list-h3 {font-size:1.5rem; margin-block-end:20px; line-height:1.4;}
  .p-strength-list-area .p-strength-list-area__inner {padding:0 20px 20px 20px;}
  
}
/*---------------------------------*/
/*---------    pickup   -----------*/
/*---------------------------------*/
.p-pickup-area {background-color:#404040;}
.p-pickup-h2Area__title {font-size:3rem; font-weight:500; color:#FFF; display:flex; flex-direction: column; justify-content:center; align-items:center; gap: 10px;}
.p-pickup-h2Area__title .u-titleLable {background-color:var(--blonze); font-size:1rem; color:var(--text); line-height:1; padding:6px 15px;}

.c-cardlist__item {background-color:#FFF;}
.c-cardlist__inner {display:grid; grid-template-columns:1fr 1fr;}
.p-pickup-card__image_before, .p-pickup-card__image_after {padding:16px 20px;}
.p-pickup-card__image_before {background-color:#F5F5F5;}

.c-btn-area {display: flex; justify-content:center; gap:10px; margin-bottom: 40px;} 
.js-category-item.is-hide {display:none;}
.js-category-label {position:relative; font-size: 1.25rem; font-family:"Noto Serif JP", sans-serif; max-width:270px; width:100%; height:54px; background:rgba(255, 255, 255, 0.10); color:#FFF; text-align:center; margin:5px; transition:0.7s ease;}
.js-category-label:hover {background:#093c69;}
.js-category-label span {position:relative; width:100%; height:100%; display: flex; justify-content: center; align-items: center;}
.js-category-label span::before {position:absolute; content:''; }
.js-category-label.is-active {background:#005AA8;}
.p-pickup-card__image_before-label {display: inline-block; background-color:#404040; color: #FFF; font-family:"Noto Serif JP", sans-serif; padding: 2px 15px; margin-bottom:20px;}
.p-pickup-card__image_after-label {display: inline-block; background-color:#005AA8; color: #FFF; font-family:"Noto Serif JP", sans-serif; padding: 2px 15px; margin-bottom:20px;}
.p-pickup-card__image_after img {margin-bottom:30px;}
.p-pickup-card__point {border: 1px solid #005AA8; padding:20px; border-radius: 5px;}
.p-pickup-card__point-text {color:#005AA8; font-size: 1.125rem; font-family:"Noto Serif JP", sans-serif; font-weight:700; letter-spacing:0; line-height:1; margin-bottom:10px;}
.p-pickup-card__point-description {font-size: 0.9375rem;}

@media screen and (max-width:1080px) {
  .p-case-list__item {padding:20px;}
  .c-cardlist__inner {grid-template-columns:1fr;}
  .js-category-label, .js-category-label.is-active {max-width:initial; width:100%;}
}
@media screen and (max-width: 768px) {
  .p-pickup-area.l-wrapper {background-color:#404040; padding:60px 20px;}
  .p-pickup-h2Area__title .u-titleLable {font-size: 0.75rem;}
  .c-cardlist__inner {grid-template-columns:1fr;}
  .c-btn-area {display:grid; grid-template-columns:1fr 1fr; gap:5px 15px; margin-bottom:30px;} 
  .p-pickup-h2Area__title {font-size: 1.75rem; margin-bottom:30px;}
  .p-pickup-card__point {padding:10px;}
  .p-pickup-card__point-text {line-height:1.4; letter-spacing:-0.025em; margin-bottom:5px;}
  .p-pickup-card__point-description {font-size:0.75rem; letter-spacing:0.075em;}
  .js-category-label {height:32px; font-size:0.75rem;}
}

/*---------------------------------*/
/*---------      CTA     ----------*/
/*---------------------------------*/
.p-cta-area {background-color:#005AA8;}
.p-cta-area .l-content {position:relative;}
.p-cta-container {background-color:#00449D; max-width:1200px; width:100%; margin:0 auto;}
.p-cta-box {position: relative;}
.p-cta-box-area {display:flex; height:220px; justify-content: center; align-items: center; gap:80px;}
.p-cta-box__container__image{ width:375px; height: auto;}
.p-cta-box__content {display: flex; gap: 20px;font-family:"Noto Serif JP", sans-serif; color:#FFF; align-items:center; margin-bottom:25px;}
.p-cta-box__title-inner {display:flex; flex-direction:column; text-align:center; gap:5px;}
.p-cta-box__title-main {padding:5px 20px; border: 1px solid #FFF; font-size:1.5rem; font-weight:600; line-height:1;}
.p-cta-box__title-sub {font-size:3rem; font-weight:600; line-height:1;}
.p-cta-box__title-footer {font-size:6rem; font-weight:600; line-height:1; background-position: top right; background-repeat: repeat-x; background-size: 1em 0.4em; padding-top:.3em; }
.p-cta-box__title-footer > span {position: relative;}
.p-cta-box__title-footer > span::after {position:absolute; content:'・'; font-size:3rem; color:#FFF; top:-15px; left:50%; transform:translateX(-50%);} 
.p-cta-box__button {position:absolute; display:block; margin: 0 auto; max-width:400px; height:56px; width: 100%; background-color:var(--accent); border-radius:50px; box-shadow: 0 10px 20px rgb(25 25 25 / 30%); bottom:-60px; left:50%; transform: translateX(-50%);transition: 0.5s ease;}
.p-cta-box__button:hover {background-color:#fff2b8;}
.p-cta-box__button a {width:100%; height:100%; color:#013058; font-weight: 700; text-decoration: none; display: flex; justify-content: center; align-items: center;}
.p-cta-box__button::after {position: absolute; content:''; width: 0; height: 0; border-style: solid; border-width: calc(16px / 2) 0 calc(16px / 2) 20px; border-color: transparent transparent transparent #013058; top:50%; right:30px; transform: translateY(-50%);}
.p-cta-area__emblem {position:absolute; color:#005AA8; margin: 0; background:url(../images/limited_icon_bg.svg)no-repeat center center; width:112px; height:auto; aspect-ratio:1; display:flex; justify-content:center; align-items:center; font-size:1.75rem; line-height:1.2; font-family:"Noto Serif JP", sans-serif; font-weight:600; margin-bottom:0; top:-55px; left:-55px;}

@media screen and (max-width:1080px) {
  .p-cta-box__title-footer {font-size:4rem;}
  .p-cta-box__title-main {font-size: 1rem;}
  .p-cta-box__title-sub {font-size: 2rem;}
  .p-cta-box__container__image {width:118px;}
}
@media screen and (max-width:768px) {
  .p-cta-area.l-wrapper {padding:20px 20px 40px;}
  .p-cta-box__content {flex-direction:column;}
  .p-cta-container {padding: 20px 10px 20px 20px;}
  .p-cta-box__title-inner {flex-direction:row; align-items:center;}
  .p-cta-box__title-main {font-size: 0.75rem; padding:5px; letter-spacing:-0.03em; }
  .p-cta-box__title-sub {font-size: 0.875rem;}
  .p-cta-box__content {gap:5px;}
  .p-cta-box-area {height:auto; gap:20px;}
  .p-cta-area__emblem {width:48px; top:-30px; left:-35px; background-size:contain; font-size:0.75rem; z-index:2;}
  .p-cta-box__button {width:255px; height:48px; left:initial; right:-110.5px; transform:initial; bottom:-40px; font-size:1rem;}
  .p-cta-box__button::after {border-width: calc(10px / 2) 0 calc(10px / 2) 12px; right: 10px;}
  .p-cta-box__title-footer {font-size:2.75rem;}
  .p-cta-box__title-footer > span::after {font-size: 2rem;}
}

/*---------------------------------*/
/*---------    service   ----------*/
/*---------------------------------*/
.p-service-area {background: url(../images/service_bgimg.webp)repeat-y center top; background-size: cover;}
.p-service-area__title {font-size:3rem; font-weight:500; color:var(--text); display:flex; flex-direction: column; justify-content:center; align-items:center; gap: 10px;}
.p-service-area__title .u-titleLable {background-color:var(--titlebg); font-size:1rem; color:#FFF; line-height:1; padding:4px 15px;}
.p-service-area__spNotice {display:none;}
.p-service-area__tableArea {background-color:#FFF; padding:20px;}
.p-service-area__tableArea table {border-collapse:separate; border-spacing:10px 0; position:relative; top:-60px; margin-bottom:-60px;}
.p-service-area__tableArea .u-tableArea-first {width:115px;}
.p-service-area__tableArea .u-tableArea-second {width:190px;}
.p-service-area__tableArea .u-tableArea-blue {width:410px; background-color:#013058; color:#FFF; text-align:center; padding:20px; vertical-align: middle; border-radius:10px 10px 0 0;}
.p-service-area__tableArea .u-tableArea-red {width:410px; background-color:#910000; color:#FFF; text-align:center; padding:20px;vertical-align: middle; border-radius:10px 10px 0 0;}
.p-service-area__tableArea .u-tableArea-text-blue {color:#013058; text-align: center;}
.p-service-area__tableArea .u-tableArea-text-red {color:#910000; text-align: center;}
.p-service-area__tableArea .u-l_gray {position:relative; background-color:#F5F5F5; text-align:center; padding:7px 18px;}
.p-service-area__tableArea .u-l_gray::after {position: absolute; content:''; width:calc(100% - 36px); height: 1px; background-color:#C8DAEA; left:50%; bottom: 0; transform:translateX(-50%);}
.p-service-area__tableArea .u-l_gray.last::after {display:none;}
.p-service-area__tableArea .u-tableArea-text-price {font-size:2.5rem; font-family:"Noto Serif JP", sans-serif; font-weight:600;}
.u-tableArea__title {font-size: 2rem; color:#FFF; font-family:"Noto Serif JP", sans-serif; font-weight:600; line-height: 1.2;}
.u-tableArea__small {color:#FFF; line-height:1.4;}
.p-service-area__tableArea .u-tableArea-text-title_first {border-top: 1px solid #CCDEEE; text-align: center; font-size: 0.825rem; letter-spacing:0; vertical-align:middle;}
.p-service-area__tableArea .u-tableArea-text-title_first.u-title_first_end {border-bottom: 1px solid #CCDEEE;}
.p-service-area__tableArea .u-tableArea-text-title_second {border-left: 1px solid #CCDEEE; border-top: 1px solid #CCDEEE; text-align: center; font-size: 0.825rem; letter-spacing:0; vertical-align:middle;}
.p-service-area__tableArea tr:last-child .u-tableArea-text-title_second {border-bottom: 1px solid #CCDEEE;}

@media screen and (max-width: 1080px) {
  .u-tableArea__title {font-size: 1.5rem;}
  .p-service-area__tableArea .u-tableArea-text-title_first {writing-mode:vertical-rl; text-orientation:upright;}
}

@media screen and (max-width: 768px) {
  .p-service-area.l-wrapper {padding: 40px 0;}
  .p-service-area__title {font-size: 1.75rem; margin-bottom:20px;}
  .p-service-area__title .u-titleLable {font-size: 0.75rem;}
  .p-service-area__spNotice {display:flex; gap:5px; font-size: 0.875rem; margin-right:5px; margin-bottom: 0; justify-content: flex-end;}
  .p-service-area__spNotice img {width:16px; height: 16px;} 
  .p-service-area__tableArea {overflow-x: scroll; background:none; padding:0;}
  .p-service-area__tableArea table {width:165vw; border-collapse:collapse; top:initial; margin-bottom:initial;}
  .p-service-area__tableArea .u-tableArea-first {width:6.65%;}
  .p-service-area__tableArea .u-tableArea-second {width:16.54%;}
  .p-service-area__tableArea .u-tableArea-blue, .p-service-area__tableArea .u-tableArea-red {width:38.4%; padding:15px 10px; }
  .p-service-area__tableArea table tr {background-color:#FFF;}
  .p-service-area__tableArea table tr:first-child {background: none;}
  .p-service-area__tableArea .u-tableArea-text-title_first {font-size:0.6875rem;}
  .p-service-area__tableArea .u-tableArea-text-title_second {font-size:0.6875rem; padding:5px;}
  .u-tableArea__title {font-size:1.25rem;}
  .u-tableArea__small {font-size:0.6875rem;}
  .p-service-area__tableArea .u-tableArea-text-price {font-size: 1.5rem; letter-spacing:-0.025em;}
  .p-service-area__tableArea .u-l_gray {position:relative; background-color:#F5F5F5; text-align:center; padding:7px 5px;}
  .p-service-area__tableArea .u-l_gray.fs-small {font-size:0.6875rem;}
  .u-tableArea-text-sml {font-size: 0.625rem; letter-spacing: 0;}
}

/*---------------------------------*/
/*---------  production  ----------*/
/*---------------------------------*/
.p-production-area {position: relative; background-color:#F1F3F7; overflow:hidden; padding-block:160px 210px;}
.p-production-area::after {position:absolute; content:''; background: url(../images/product_bg_triangle.svg)no-repeat top left; width: 960px; aspect-ratio: 1; bottom: 0; right: 0; z-index: 0;}
.p-production-box {position: relative; border:5px solid #191919; z-index:2; padding:60px 50px;}
.p-production-box__person {margin:0 auto 20px; text-align: center;}
.p-production-box__icon {max-width:44px; height:auto; margin:0 auto 2px;}
.p-production-box__clientTag {display:inline; position:relative; background-color: var(--titlebg); color:#FFF; text-align:center; line-height:1; padding:2px 15px; font-weight:700; margin: 0 auto;}
.p-production-box__nameTag {font-size: 1.125rem; font-weight:700; text-align: center; line-height:1;}
.p-production-box__content {position:relative; background: #FFF; padding:35px 42px 20px; border-radius:10px;}
.p-production-box__content:first-child {margin-bottom:70px; position:relative; padding:20px 42px;}
.p-production-box__content:first-child::after {position:absolute; content:''; border-left:1px dotted var(--text); width:1px; height:60px; left:50%; transform:translateX(-50%); bottom:-50px;}
.p-production-box__content:first-child .p-production-box__person {margin-bottom: 0;} 
.p-production-box__companyTag {position: absolute; background-color: var(--titlebg); color:#FFF; text-align: center; line-height: 1; padding:5px 15px; font-weight: 700; left: 50%; top:-12px; transform:translateX(-50%);}
.p-production-box__listArea {display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr; gap:10px; margin-bottom:10px; align-items: stretch;}
.p-production-box__list {position:relative; background-color:#F5F5F5; border-radius:10px; padding:20px 12px;}
.p-production-box__worktext__list {min-height: 52px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
.p-production-box__worktext {width:100%; background-color: #FFF; border-radius:20px; padding:1px 5px; font-size:0.75rem; font-weight:500; letter-spacing:0.015em; text-align:center; margin-bottom:4px;}
.p-production-box__notice {text-align: center; font-weight: 500;}
.p-production__title {position:absolute; font-family:"Noto Serif JP", sans-serif; font-weight:500; font-size:2rem; letter-spacing:-0.025em; background-color:#191919; color: #FFF; display: inline-block; left: -5px; top: -36px; margin-block-end: 0; padding: 10px 20px;}
.p-production-box__list-title {font-weight:700; text-align:center; margin-block-end: 10px;}
.p-production-box__list.u-highlight {border:2px solid #C50000; background-color:#F9E5E5; padding: 6px 12px }
.p-production-box__list .u-highlight-text {position:relative; text-align:center; background-color:#C50000; color:#FFF; display:inline-block; font-weight:700; margin-bottom:0; padding:6px 16px; border-radius:2px; left: 50%; top:-18px; transform:translateX(-50%); line-height:1;}
.p-production-box__list.u-highlight .p-production-box__worktext{color:#C50000;}

@media screen and (max-width:1080px) {
  .p-production-area::after {width:50vw; background-size:cover;}
  .p-production-box {padding: 40px 20px 20px;}
  .p-production-box__content {padding: 20px;}
  .p-production-box__listArea {grid-template-columns:1fr 1fr 1fr;}
}
@media screen and (max-width: 768px) {
  .p-production-area {padding-block: 100px 80px;}
  .p-production-box__companyTag {position:relative; display:inline-block; top:initial; margin-bottom:10px;}
  .p-production-box__listArea {grid-template-columns:1fr 1fr; gap:10px;}
  .p-production__title {font-size: 1.25rem;}
  .p-production-box__notice {font-size: 0.75rem;}
  .p-production-box__content {padding:20px 10px;}
  .p-production-box__content:first-child {z-index: 5;}
  .p-production-box__content:last-child {z-index: 2;}
  .p-production-box__content:first-child::after {height:90px; bottom:-70px; z-index:5; }
  .p-production-box__list {padding:10px 12px;}
  .p-production-box__list-title {font-size:0.75rem;}
  .p-production-box__list .u-highlight-text {font-size:0.75rem;}
  .p-production-box__icon {max-width: 40px;}
  .p-production-box__worktext {font-size:0.625rem;}

}
/*---------------------------------*/
/*-----------  profile  -----------*/
/*---------------------------------*/
.p-profile-area {position:relative; background-color:var(--darkgray);}
.p-profile-area p, .p-profile-area li, .p-profile-area h3 {color:#FFF;}
.p-profile-title__area {display: inline-block;}
.p-profile-title {color:#FFF; font-size:3rem; font-weight:500;}
.p-profile-title .u-titleLable { background-color: var(--blonze); font-size: 1rem; color: var(--text); line-height: 1; padding: 6px 15px; letter-spacing: -0.001em;}
.p-profile-area-container { display: flex; flex-direction: column; gap: 40px; padding-bottom: 40px; }
.p-profile-area__box {display: grid; grid-template-columns:310px 1fr; }
.p-profile-area__box:first-child {padding-bottom: 40px; border-bottom: 1px solid #ccc; }
.p-profile-area__box:first-child .p-profile-area__image {width: 301px; height: auto;}
.p-profile-area__box:last-child .p-profile-area__image {width: 308px; height: auto;}
.p-profile-area__name {font-family:"Noto Serif JP", sans-serif;}
.p-profile-area__Title {line-height:1; margin-bottom:5px;}
.p-profile-area__name-text {font-size:2rem; font-weight:600; display: flex; align-items:center;}
.p-profile-area__name-text span {font-size:0.875rem; font-weight:400; padding-left:10px;}
.p-profile-area__content-lower {display:grid; grid-template-columns:300px 1fr; gap:50px; font-size:0.875rem; letter-spacing:-0.001em;}
.p-profile-area__box:nth-child(2) .p-profile-area__content-lower {grid-template-columns:1fr;}
.p-profile-area .p-profile-area__tag {color:var(--text); background:#FFF; font-size:0.875rem; display:inline-block; margin-bottom:10px; padding:2px 15px;}
.p-profile-area__career {font-weight:700; margin-bottom:5px;}
.p-profile-area__content p {font-size:0.875rem;}
.p-profile-area__archive-list li {margin-bottom: 7px;}
.p-profile-area__archive-list li:last-child {margin-bottom:0;}

@media screen and (max-width:1080px) {
  .p-profile-area__box {display: grid; grid-template-columns:200px 1fr; gap:30px; }
  .p-profile-area__box:first-child .p-profile-area__image {position:relative; left:20px;}
  .p-profile-area__box:first-child .p-profile-area__image, .p-profile-area__box:last-child .p-profile-area__image {width: 200px;}
  .p-profile-area__content-lower {grid-template-columns:1fr; gap:30px;}
}

@media screen and (max-width: 768px) {
  .p-profile-area.l-wrapper {padding:60px 20px;}
  .p-profile-area__box {grid-template-columns:1fr; gap:0;} 
  .p-profile-area__content-lower {position: relative; grid-template-columns:1fr; gap:40px; top: -40px; margin-bottom: -40px;}
  .p-profile-title__area {display:inline-block; width:100%; margin:0 auto;}
  .p-profile-area__content-wrapper {position:relative}
  .p-profile-title {font-size: 1.75rem; margin-bottom:40px;}
  .p-profile-title .u-titleLable { font-size:0.75rem; padding: 2px 15px;}
  .p-profile-area__name { position: absolute; left:200px; top:-240px;}
  .p-profile-area__name-text { font-size: 1.5rem; display: flex; align-items: flex-start; flex-direction: column; margin-bottom:0; }
  .p-profile-area__name-text span { padding-left:0; }
}

/*---------------------------------*/
/*-----------   flow    -----------*/
/*---------------------------------*/
.p-flow-area {background: url(../images/strength_bgimg.webp) repeat-y center top; background-size: cover; color: var(--blonze);}
.p-flow-area__title {font-size:3rem; font-weight:500; color:var(--text); display:flex; flex-direction: column; justify-content:center; align-items:center; gap: 10px;}
.p-flow-area__title .u-titleLable {background-color:var(--titlebg); font-size:1rem; color:#FFF; line-height:1; padding:4px 15px;}
.p-flow-area__list {display: flex; flex-direction: column; gap: 20px;}
.p-flow-area__content {display: flex; gap:20px; justify-content: center; align-items: stretch;}
.p-flow-area__content:nth-child(2) {display: grid; grid-template-columns: 1fr 1fr 1fr;}
.p-flow-area__content:last-child {display: grid; grid-template-columns: 1fr;}
.p-flow-step {position:relative; max-width:186px; width:100%; background-color: #FFF; box-shadow: 0 10px 20px rgb(0 0 0 / 20%);}
.p-flow-step::after {position: absolute; content:''; right: -20px; top: 50%; transform: translateY(-50%); width: 0;
height: 0; border-style: solid; border-width: calc(48px / 2) 0 calc(48px / 2) 20px; border-color: transparent transparent transparent var(--blonze);}
.p-flow-step:last-child::after {display: none;}
.p-flow-step__number {text-align:center; font-size:1.25rem; font-family:"Noto Serif JP", sans-serif; margin-bottom:20px;}
.p-flow-step__content {display:flex; justify-content:center; align-items:center; padding: 20px 20px 30px;}
.p-flow-step__content .p-flow-step__description {width:100%; display: block; color:var(--text); font-size:1.375rem; text-align: center;}
.p-flow-step__img {background:#F1EEE8; max-width:96px; width:100%; aspect-ratio:1; border-radius:50%; display:flex; justify-content: center; align-items:center; margin:0 auto 15px;}
.p-flow-area__content:nth-child(2) .p-flow-step-schedule {background-color:var(--darkgray); color:#FFF; height:48px;}
.p-flow-step-schedule {background-color: var(--blonze); color: #FFF; height:64px; display: flex; justify-content: center; align-items: center;}
.p-flow-step__description {color: #FFF; font-size: 1.75rem; display: inline; text-align:center; font-family:"Noto Serif JP", sans-serif; font-weight: 600;}

@media screen and (max-width:1080px) {
  .p-flow-step {width:60vw; max-width:initial;}
  .p-flow-step::after {width: 0; height: 0; border-style: solid; border-width: 10px calc(25px / 2) 0 calc(25px / 2);border-color: #BAAC8E transparent transparent transparent; right: 50%; top: initial; bottom: -15px; transform: translateX(50%) translateY(0);}
  .p-flow-step__number {font-size:1rem; margin-bottom:15px;}
  .p-flow-step__content {padding:20px 10px 20px;}
  .p-flow-step__content .p-flow-step__description {font-size:1rem; letter-spacing:0;}

}

@media screen and (max-width: 768px) {
  .p-flow-area.l-wrapper {padding: 40px 20px;}
  .p-flow-area__title {font-size: 1.75rem; margin-bottom:30px;}
  .p-flow-area__title .u-titleLable {font-size:0.75rem; padding:4px 10px;}
  .p-flow-area__list {flex-direction:row; gap:10px; justify-content:center;}
  .p-flow-area__content {flex-direction:column;}
  .p-flow-area__content:nth-child(2) {width:10vw; grid-template-rows:1fr 1fr 1fr; gap:20px; grid-template-columns:initial;margin-left:15px;}
  .p-flow-area__content:nth-child(2) .p-flow-step-schedule {height:100%;}
  .p-flow-area__content .p-flow-step-schedule {height:100%;}
  .p-flow-area__content:nth-child(2) .p-flow-step-schedule .p-flow-step__description {writing-mode: vertical-rl; text-orientation: upright;}
  .p-flow-area__content:last-child .p-flow-step-schedule {width:12vw; height:100%;}
  .p-flow-area__content:last-child .p-flow-step-schedule .p-flow-step__description {writing-mode: vertical-rl; text-orientation: upright;}
  .p-flow-step__desc__horizon {-webkit-text-combine:horizontal; text-combine-upright:all;}
  .p-flow-step {box-shadow: 0 5px 10px rgb(0 0 0 / 20%);}
  .p-profile-area-container {padding-bottom: 0;}
  .p-flow-step__content-wrapper {display:flex; flex-direction:column; width:100%; position: relative;}
  .p-flow-step__number {order:1; text-align: left; margin:0; font-size: 1rem; letter-spacing:0;}
  .p-flow-step__img {order:3; position:absolute; max-width:64px; right:0; top:50%; transform:translateY(-50%); margin-bottom:0;}
  .p-flow-step__content {padding: 10px;}
  .p-flow-step__content .p-flow-step__description {font-size:1rem; letter-spacing:0;order:2; text-align:left;}
  .p-flow-step__description {font-size:1.125rem;}
}

/*---------------------------------*/
/*-----------    FAQ    -----------*/
/*---------------------------------*/
.p-faq-area {position: relative; background-color:#F5F5F5;}
.p-faq-area::before {position:absolute; content:''; background: url(../images/faq_triangle_bgimg.svg)no-repeat top left; width: 820px; aspect-ratio: 1; top: 0; left: 0; z-index: 0;}
.p-faq-area::after {position:absolute; content:''; background: url(../images/faq_triangle_bgimg.svg)no-repeat top left; width: 820px; aspect-ratio: 1; bottom: 0; right: 0; transform: rotate(180deg); z-index: 0;}
.p-faq-area__title {position: relative; padding-bottom: 25px;}
.p-faq-area__title::after {position:absolute; content:''; width:80px; height:4px; background-color:var(--blonze); left:50%; bottom: 0; transform: translateX(-50%);}
.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; position: relative; z-index: 2;}
.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 {display: block; font-size:1.5rem; font-weight:700; line-height: 150%; background:#FFF; border-radius: 8px; padding:28px 3em 28px 4em;}
.c-faq-accordion-Label::before { position:absolute; content:"＋"; width:40px; height:40px; top:20px; right:20px; color:#BAAC8E; background-size:cover; transition: 0.5s ease;}
.c-faq-accordion-Label::after {content:"Q."; color: var(--blonze); position: absolute; font-size:2.5rem; font-weight:700; top:43%; left:40px; transform: translateY(-50%);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:1.5em 1em 1.5em 6em; 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(--blonze); position:absolute; font-size:2.5rem; font-weight:700; top:0.25em; left:1.125em; 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 {content:"ー";}
@media screen and (max-width: 1080px) {
  .p-faq-area::before, .p-faq-area::after {width:50vw; background-size:cover;}
}

@media screen and (max-width: 768px) {
  .p-faq-area.l-wrapper {padding:60px 20px;}
  .p-faq-area__title {margin-bottom:40px;}
  .c-faq-accordion-Label {font-size: 1.125rem; padding:15px 45px 15px 55px;}
  .c-faq-accordion-Label::before {top:50%; right:15px; width:16px; height:16px; line-height:1; font-size: 1rem; text-align:center; vertical-align:middle; transform:translateY(-50%);}
  .c-faq-accordion-Label::after {font-size:1.5rem; top:10px; left:15px; transform:initial; width:30px; height:30px;}
  .c-faq-accordion-toggle:checked + .c-faq-accordion-Label + .c-faq-accordion-content::after {font-size: 1.5rem; width:30px; height:30px; top:10px; left:15px; padding: 1em 1em 1.5em 55px;}
}

/*---------------------------------*/
/*-----------   form    -----------*/
/*---------------------------------*/
.l-wrapper .p-form-area {padding-block:clamp(60px, 4vw, 120px); padding-inline:40px;} 
.p-form-area {background-color:#191919; color:#FFF;}
.p-form-area__content {background-color: #FFF; padding:80px 50px;}
.p-form-area-title {position:relative; padding-bottom:25px;}
.p-form-area-title::after {position:absolute; content:''; width:80px; height:4px; background-color: var(--blonze); left:50%; bottom:0; transform:translateX(-50%);}
.p-form-area__description {text-align: center;}
.p-form-area__formOuter {display:block; max-width:920px; width:100%; margin:0 auto;}

@media screen and (max-width: 768px) {
  .p-form-area.l-wrapper {padding: 50px 20px;}
  .p-form-area__content {padding:40px 10px;}
  .p-form-area__description {text-align:left;}
  .p-form-area-title {margin-block-end:30px;}
}
/*========================================================================
	footer
========================================================================*/
footer {background-color:#191919; color: #FFF;}
footer .outer {border-top:1px solid #404040; padding:40px;}
.l-footer__info {display:flex; justify-content:space-between; align-items:center; margin-bottom:30px;}
.l-footer__menu { display:flex; justify-content: flex-end; align-items: center; gap:30px;}
.l-footer__menuList{display:flex; justify-content: flex-end; gap: 10px 30px; flex-wrap:wrap;}
.l-footer__companyInfo {max-width: 174px; height: auto;}
address {text-align:center;}

@media screen and (max-width: 1366px) and (min-width: 769px) {
  .l-footer__menuList{gap:10px 15px;}
}

@media screen and (max-width: 768px) {
  .l-footer__info {flex-wrap:wrap; gap:40px; margin-bottom:10px;}
  .l-footer__menu {order:1; width:100%; justify-content:flex-start;}
  .l-footer__companyInfo {order:2; width:100%; display:block; margin:0 auto;}
  .l-footer__menuList {display: grid; width:100%; grid-template-columns: 1fr 1fr; gap:20px;} 
}

.p-float-banner {position:relative; width:200px; height:200px; position: fixed; bottom: 10px; right: 10px; z-index: 10; background:#005AA8; color:#FFF; right: 50px; bottom: 50px; padding: 10px;}
.p-float-banner a {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; transition: 0.5s ease;}
.p-float-banner a:hover {background-color:rgb(255 255 255 / 30%);}
.p-float-banner__inner {width:100%; height:100%; background-color:#00449D; font-family:"Noto Serif JP", sans-serif; display:flex; flex-direction:column; justify-content: center; align-items: center; padding-block:10px; gap: 10px;}
.p-float-banner__textArea { display:flex; flex-direction: column; justify-content:center; align-items:center; gap:4px;}
.p-float-banner__textArea__upper {display:flex; flex-direction:column; justify-content: center; gap:4px;}
.p-float-banner__catchArea {color:#FFF; text-align: center; font-size: 0.75rem; border:1px solid #FFF; display:inline-block; margin:0 auto; padding:2px 15px; line-height:1.2; letter-spacing:0.025em;}
.p-float-banner__upperTitle {color:#FFF; text-align:center;font-size: 1.5rem; font-weight:600; margin-bottom:5px; line-height:1;}
.p-float-banner__dotTitle {color:#FFF; text-align:center; font-size:2.1875rem; font-weight: 600; line-height:1; background-position:top right; background-repeat: repeat-x; background-size: 1em 0.4em; padding-top:5px; margin-bottom: 5px;}
.p-float-banner__dotTitle span { position:relative;}
.p-float-banner__dotTitle span::after { position: absolute; content: '・'; font-size: 1.25rem; color: #FFF; top: -5px; left: 50%; transform: translateX(-50%);}
.p-float-banner__closebtn {position:absolute; top:10px; right:10px; width:16px; height:16px; z-index:15; cursor:pointer; background:none; border:none; padding:0; display:flex; align-items:center; justify-content:center;}

@media screen and (max-width: 768px) {
  .p-float-banner {position: relative; max-width: 375px; width: 100%; height: 80px; position: fixed; z-index: 10; background: #005AA8; color: #FFF; bottom: 0; right:initial; left: 50%; transform: translateX(-50%); padding: 10px;}
  .p-float-banner__inner {flex-direction:row;}
  .p-float-banner__inner img {width:100px;}
  .p-float-banner__textArea {flex-direction:row; gap:10px;}
  .p-float-banner__catchArea {padding:2px 5px;}
  .p-float-banner__upperTitle {font-size: 1.25rem;}
  .p-float-banner__dotTitle {font-size: 1.75rem;}
}

