@charset "UTF-8";

/* ========================================================================
	Foundation - ファウンデーション

  ※特記事項
  2025年時点のCSSは入れ子の記述が可能ですが、利用するモバイルキャリアのブラウザバージョンによっては
  表示が崩れる現象がある為、今現在はまだ未対応としています。

  ======================================================================== */

/*	Reset
-------------------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i,dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { padding: 0; border: 0; margin: 0; background: transparent; font-size: 100%; outline: 0; vertical-align: baseline;}

h1, h2, h3, h4, h5, h6 { font-weight: normal; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
article { overflow-wrap: anywhere; word-break: normal; }
li { list-style: none; }

blockquote, q { quotes: none; }
blockquote::before, blockquote::after, q::before, q::after { content: ""; content: none; }

a { padding: 0; margin: 0; background: transparent; color: inherit; font-size: 100%; text-decoration: underline; -webkit-transition: 0.25s; transition: 0.25s; vertical-align: baseline; }
a:hover { opacity: 0.7; text-decoration: none; }

ins { background-color: #ff9; color: #22262A; text-decoration: none; }
mark { background-color: #ff9; color: #22262A; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }
img { max-width: 100%; height: auto; vertical-align: bottom; image-rendering: -webkit-optimize-contrast; }
::marker {display:none;}

/* ========================================================================
	breakpoint
======================================================================== */
.pc {display: block;}
.sp, .tb, .tb_only {display: none;}
@media screen and (min-width: 769px) and (max-width: 1366px) {
.tb_only {display: block;}
}
@media only screen and (max-width: 1366px) {
.tb {display: block;}
.sp {display: none;}
}
@media only screen and (max-width: 768px) {
.sp {display: block;}
.pc, .tb_only {display: none;}
}


/* ========================================================================
	Layout
======================================================================== */

/*	共通設定  */
html { overflow-x: auto; scroll-padding-top:100px; scroll-snap-type: y proximity; }
html.is-fixed { overflow-x: visible; }
html:focus-within {scroll-behavior: smooth;}
body { background-color: #fff; color: #222222; font-size: 1rem; font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Helvetica, sans-serif; line-height: 1.6; position: relative; font-feature-settings: "palt"; }
body.is-fixed { position: fixed; width: 80vw; height: 80vh; }
section {padding:0 50px;}
.under section { padding: 0 50px 150px;} 
.top-contents {padding: 100px 0 140px;}

@media only screen and (max-width: 1366px) {
.top-contents {padding: 50px 0 80px;}
.under section {padding: 0 50px 100px;}
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
}
@media only screen and (max-width: 768px) {
  section { padding: 0 10px; }
  .under section { padding: 10px 10px 30px;} 
  .top-contents {padding: 27px 0 60px;}
}
@media only screen and (max-width: 640px) {
}


/* CSS Grid Column Setting */
.l-container {max-width:1636px; width:100%; margin:0 auto; display:grid; grid-template-columns:repeat(12, 1fr); column-gap: 32px;}
.item-1col {grid-column:span 1;}
.item-2col {grid-column:span 2;}
.item-3col {grid-column:span 3;}
.item-4col {grid-column:span 4;}
.item-5col {grid-column:span 5;}
.item-6col {grid-column:span 6;}
.item-7col {grid-column:span 7;}
.item-8col {grid-column:span 8;}
.item-9col {grid-column:span 9;}
.item-10col {grid-column:span 10;}
.item-11col {grid-column:span 11;}
.item-12col {grid-column:span 12;}

@media only screen and (max-width: 1366px) {
  .item-1col, .item-2col, .item-3col, .item-4col, .item-5col, .item-6col, .item-7col, .item-8col, .item-9col, .item-10col, .item-11col, .item-12col {grid-column:initial;}
}
@media screen and (min-width: 769px) and (max-width: 1366px) {
  .l-container {max-width:1082px; width:100%; margin:0 auto; display:grid; grid-template-columns:repeat(6, 1fr); column-gap: 21px;}
  .l-container.col4 {grid-template-columns:repeat(4, 1fr);}
  .item-md-1col {grid-column:span 1;}
  .item-md-2col {grid-column:span 2;}
  .item-md-3col {grid-column:span 3;}
  .item-md-4col {grid-column:span 4;}
  .item-md-5col {grid-column:span 5;}
  .item-md-6col {grid-column:span 6;}
}
@media only screen and (max-width: 768px) {
  .l-container {max-width:708px; width:100%; margin:0 auto; display:grid; grid-template-columns:repeat(4, 1fr); column-gap: 10px;}
  .item-sm-1col {grid-column:span 1;}
  .item-sm-2col {grid-column:span 2;}
  .item-sm-3col {grid-column:span 3;}
  .item-sm-4col {grid-column:span 4;}
}
@media only screen and (max-width: 640px) {
}

p { line-height: 1.7; letter-spacing: 0.04em; font-weight: 400; margin-bottom: 24px; }
p:last-child { margin-bottom: 0; }

/* head_title */
h1 {text-align:right; font-size: clamp(38px, calc(38px + (50 - 38) * ((100vw - 1084px) / (1636 - 1084))), 50px); font-weight:700; line-height: 115%; margin-bottom: 40px;}
h1 span {font-size: clamp(24px, calc(24px + (30 - 24) * ((100vw - 1084px) / (1636 - 1084))), 30px);}
h1.p-features-page-title__text {position:relative; text-align:left; line-height:100%; padding-bottom:15px; padding-left:27px; border-bottom: 1px solid #CCCCCC;}
h1.p-features-page-title__text::before {position: absolute; content:'●'; color:#CCC; font-size: 13px; left: 0; top: 50%; transform: translateY(-50%);}
h1.p-features-page-title__text .en {padding-right: 20px; border-right: 1px solid #ccc;}
h1.p-features-page-title__text .jp {padding-left: 20px;}
h1.p-under-page-title__text {color:#FFF; font-size:clamp(30px, calc(30px + (44 - 30) * ((100vw - 1084px) / (1636 - 1084))), 44px); text-align:left; line-height:140%;  margin-bottom:30px; letter-spacing:-1px;}
.service-site h1.p-under-page-title__text {font-size:clamp(24px, calc(24px + (32 - 24) * ((100vw - 1084px) / (1636 - 1084))), 32px); text-align:left; line-height:140%;  margin-bottom:30px;}

h2 {font-size: 2rem; font-weight: 700; line-height: 1.5;}
h2 .en {font-family:'jost'; font-size: clamp(40px, calc(40px + (55 - 40) * ((100vw - 1084px) / (1636 - 1084))), 55px); font-weight: 400;}
h2.p-service__title .en { font-size: clamp(49px, calc(49px + (95 - 49) * ((100vw - 1084px) / (1636 - 1084))), 95px);}
h2.p-service__title .jp { font-size: 1.4375rem; font-weight: 700;}
h2.p-team__title {font-size: clamp(35px, calc(35px + (50 - 35) * ((100vw - 1084px) / (1636 - 1084))), 50px); font-weight: 700;}
h2.p-team__title .en {font-size: clamp(40px, calc(40px + (55 - 40) * ((100vw - 1084px) / (1636 - 1084))), 55px); padding-right:30px;}
h2.p-download__title {font-size: clamp(35px, calc(35px + (45 - 35) * ((100vw - 1084px) / (1636 - 1084))), 45px); font-weight: 700;}
h2.p-download__title .en {font-size: clamp(30px, calc(30px + (40 - 30) * ((100vw - 1084px) / (1636 - 1084))), 40px);}
h2.p-features-mainVisual__title {font-size: clamp(25px, calc(25px + (40 - 25) * ((100vw - 1084px) / (1636 - 1084))), 40px); margin-bottom: 25px;}

h3 {font-size: 1.75rem; font-weight: 700; line-height: 1.5;}
h3.features_title {font-size: clamp(25px, calc(25px + (40 - 25) * ((100vw - 1084px) / (1636 - 1084))), 40px); margin-bottom:30px; line-height:140%;}
h3.features_title .fs_small {font-size: clamp(22px, calc(22px + (30 - 22) * ((100vw - 1084px) / (1636 - 1084))), 30px);}
h3.features_title .fw500 {font-weight:500;}
h3.p-under-reason__subtitle {margin-bottom: 40px;}
h3.p-download__title .en{font-size: clamp(30px, calc(30px + (40 - 30) * ((100vw - 1084px) / (1636 - 1084))), 40px); font-family: 'jost'; font-weight:400;}
h3.p-under_case__header .en, h3.p-under_case__header_title {font-family:'jost'; font-size:clamp(40px, calc(40px + (55 - 40) * ((100vw - 1084px) / (1636 - 1084))), 55px); font-weight: 400; padding-right: 35px;}
h3.p-under_case__header .jp, h3.p-under_case__header_title .jp {font-size:1.25rem; padding-left:10px; font-weight:700;}

h4 {font-size:1.5rem; font-weight:700; line-height:1.5;}
h4.p-project-group__itemTitle {color:#144E7B; font-size:1.375rem; margin-bottom: 10px;}
h4.p-domain__itemTitle, h4.p-axis__title {font-size:1.375rem; margin-bottom: 10px;}
h4.p-under-reason__flowtitle {margin-bottom: 5px;}

h5 {font-size: 1.25rem; font-weight: 700; line-height: 1.5;}

h6 {font-size: 1.125rem; line-height: 1.5; margin-top: 24px; margin-bottom: 16px; }


@media screen and (min-width: 768px) and (max-width: 1366px) {
  h1.p-mainVisual__title {font-size: clamp(26px, calc(26px + (38 - 26) * ((100vw - 769px) / (1082 - 769))), 38px);}
  h1.p-mainVisual__title span.p-mainVisual__subtitle {font-size: clamp(22px, calc(22px + (28 - 22) * ((100vw - 769px) / (1082 - 769))), 28px);}
  h2.p-service__title .jp {font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 769px) / (1082 - 769))), 18px);}
}

@media only screen and (max-width: 1366px) {
  h1 {font-size: 2.25rem;}
  h2.p-service__title .en {font-size:2.25rem;}
  h3.p-under-reason__subtitle {margin-bottom: 20px;}
}
@media only screen and (max-width: 768px) {
  p {font-size: 0.875rem; line-height: 140%;}
  h1 {font-size: 1.75rem; text-align:left;}
  h1.p-mainVisual__title {font-size:1.875rem; text-align:left; margin-bottom:15px;}
  h1 span {font-size: 1rem;}
  h1.p-under-page-title__text {font-size:1.125rem; text-align:left; margin-bottom:15px;}
  h1.p-features-page-title__text {margin-bottom: 20px;}
  h2 {font-size: 1.5rem;}
  h2.p-service__title .en {font-size:1.5625rem;}
  h2.p-service__title .jp {font-size: 0.875rem;}
  h2.p-team__title {font-size: 1.25rem;}
  h2.p-team__title .en, .p-case__header h2 .en {font-size: 1.5625rem; padding-right:15px;}
  h2.p-team__title .jp, .p-case__header h2 .jp {font-size: 0.875rem;}
  h2.p-features-mainVisual__title {font-size:1.125rem; margin-bottom:10px;}
  h2.p-download__title {font-size:1.5625rem;}
  h2.p-download__title .en {font-size:1.125rem;}
  h2.p-under-download__title .en {font-size: 1.125rem;}
  h2.p-under-download__title .jp {font-size: 1.5625rem;}
  h3 {font-size: 1.25rem;}
  h3.p-under-reason__subtitle {margin-bottom:20px;}
  h3.p-under_case__header .en, h3.p-under_case__header_title .en {font-size:1.25rem}
  h3.p-under_case__header .jp, h3.p-under_case__header_title .jp {font-size:0.875rem;}

  h4 {font-size: 1rem;}
  h4.p-domain__itemTitle, h4.p-axis__title {font-size:1.25rem;}
  h5 {font-size: 1rem;}
  h6 {font-size: 0.937rem;}
}

/*========================================================================
	font style
========================================================================*/
.bold {font-weight:700;}
.txt-l {text-align:left;}
.txt-r {text-align:right;}
.txt-c {text-align:center;}
.italic {font-style:italic;}
.text-highlight {background-color:#FFC107; padding: 0 5px; display:inline-block} 
.left {display:flex; justify-content:flex-start;}
.right {display:flex; justify-content:flex-end;}
.center {display:flex; justify-content:center;}
.mx-auto {margin-left: auto; margin-right:auto;}
.underbar-c {position:relative; text-align:center; padding-bottom:20px; margin-bottom:40px;}
.underbar-c::after {position:absolute; content:''; width:50px; height:2px; background-color: #000; bottom: 0; left: 50%; transform: translateX(-50%);}

/*========================================================================
	button
========================================================================*/
.btn-link {width:100%; height:45px; text-align:center;}
.btn-link a {width:100%; height:100%; position:relative; display:flex; justify-content:center; align-items:center; background:#b89c4b; color:#FFF; font-size:1rem; font-weight:600; text-decoration:none; border-radius:45px;}
.btn-link.blk a { background:#292929;}
.c-btn.c-btn--gold {width:100%; height:100%; position:relative; display:flex; justify-content:center; align-items:center; background: #b89c4b; color:#FFF; font-size:1rem; font-weight:600; text-decoration:none; border-radius:45px; box-shadow: 0 3px 0 #856016;}
.btn {max-width:387px; width:100%; height:50px; text-align: center;}
.btn a {width:100%; height: 100%; position:relative; display:flex; justify-content:center; align-items:center; border:1px solid #000; border-radius:50px; text-decoration:none; font-size:1.175rem; font-weight:500;}
.btn a.primary {background:#B89C4B; color:#FFF; border:none;}
.btn a.secondary {background:#292929; color:#FFF; border:none;}
.under-common-visual .l-header__btnInner p {font-weight:700;}
@media only screen and (max-width: 1366px) {
  .btn {max-width:314px; width:100%; height:50px;}
}
@media only screen and (max-width: 768px) {
}


/*========================================================================
	header
========================================================================*/
header {display: grid; grid-template-columns:1fr 1fr; height:100px; position:sticky; z-index:10; top:0; left:0; background:#FFF; padding-left:50px;}
.l-header__logoArea {display:flex; justify-content:flex-start; gap:40px; align-items:center;}
.l-header__logo img {max-width: 174px; height: auto; margin-bottom: 0;}
.l-header__logoText {font-weight: 600; font-size: 1.125rem; font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 1084px) / (1636 - 1084))), 18px); }
nav {display:flex; justify-content:flex-end; align-items:center;}
nav ul {display:flex; justify-content:flex-end; align-items:center; margin-right: clamp(43px, calc(43px + (60 - 43) * ((100vw - 1366px) / (1920 - 1366))), 60px); gap: clamp(30px, calc(30px + (60 - 30) * ((100vw - 1366px) / (1920 - 1366))), 60px);}
nav ul li > a {text-decoration: none; font-weight: 500;}
.l-header__nav.pc {display: flex;}
.l-header__btn { padding: 0; max-width: 140px; width: 100%; height: 100%;}
.l-header__btn a {background:#B89C4B; color:#FFF; font-weight:700; text-decoration:none; width:100%; height:100%; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; border-bottom:3px solid #856016; font-size:0.9375rem; border-radius:0; gap:1px;}
.l-header__btn:last-child a {background:#292929; color:#FFF; font-weight:700; text-decoration:none; width:100%; height:100%; display:flex; justify-content:center; align-items:center; border-bottom:3px solid #000; font-size:0.9375rem;}
.l-header__btn a .l-header__btnInner {text-align:center;}
.l-header__btn a .l-header__btnInner img {margin-bottom:10px;}


/* 追加記述 */
.l-header__btn a .l-header__btnInner p { width:100%; text-align:center; position:relative; padding-right:12px; font-weight:700;}
/* 追加記述 ここまで*/


.l-header__btn a .l-header__btnInner p::after {position:absolute; content:''; background:url(../images/common/header_btn_arrow_white.svg)no-repeat right center; width:6px; height:10px; right:0; top:50%; transform:translateY(-50%);}
.l-header__nav_sp, .hamburger {display: none;} 

/* ドロップダウンメニュー用CSS */
.l-header__navList .dropdown {
    position: relative;
}
.l-header__navList .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  min-width: 220px;
  z-index: 100;
  padding: 0;
  margin: 0;
  border-radius: 4px;
}
.l-header__navList .dropdown-menu li { list-style: none;}
.l-header__navList .dropdown-menu li a {
  display: block;
  padding: 18px 20px;
  color: #333;
  text-decoration: none;
  transition: background 0.2s;
}
.l-header__navList .dropdown-menu li a span {font-size:0.875rem;}
.l-header__navList .dropdown-menu li a:hover {background:#f5f5f5;}
.l-header__navList .dropdown:hover .dropdown-menu, .l-header__navList .dropdown:focus-within .dropdown-menu {display: block;}

@media only screen and (max-width: 1366px) {
  header { height:50px; padding-left:0; margin:0 10px; top:10px; border-radius:50px; grid-template-columns: 1fr 50px;}
  header.open::before {position:absolute; left:0; top:0; width:100%; height:100%; background:#FFF; content:''; border-radius:50px;}
  header.open::after {position:fixed; left:0; top:0; width:100%; height:100%; background:#EFEFEF; content:''; z-index:-1;}
  .l-header {padding: 0 20px;}
  .l-header__logo img {max-width:76px; height:auto; margin-bottom:0; vertical-align:initial;}
  .l-header__logoText {line-height: 130%; font-size: 0.875rem;}
  .l-header__nav.pc {display: none;}
  .l-header__nav_sp {display: none;}
  .l-header__nav_sp.open {display: block; height: 100%;}
  nav {position:fixed; width:100%; z-index:10; top:0; right:0;}
  .header-menu {height: 0; overflow: hidden; transition: .3s; list-style:none;}
  .header-menu a {padding:8px; font-size:16px; color:#464646; display:block; text-align:center; text-decoration:none;}
  .l-header__logoArea {gap:12px; z-index: 2;}
  .hamburger {display:block; position:absolute; top:18px; right:15px; cursor:pointer; width:25px; height:12px; z-index:10;}
  .hamburger span {transition:all .3s; position:absolute; height:3px; background-color:#333; width:100%; z-index:10; border-radius:3px;}
  .hamburger span:nth-of-type(1) {top:0px;}
  .hamburger span:nth-of-type(2) {display:none; top:12px;}
  .hamburger span:nth-of-type(3) {top:10px;}
  .hamburger.open span:nth-of-type(1) {top:0; transform:translateY(6px) rotate(-33deg);}
  .hamburger.open span:nth-of-type(2) {opacity:0;}
  .hamburger.open span:nth-of-type(3) {top:12px; transform:translateY(-6px) rotate(33deg);}
  nav .l-header__navInner {position:relative; padding:90px 30px 0;}
  nav ul {justify-content:flex-start; position:relative; margin-right:initial; flex-wrap:wrap; gap:20px; margin-bottom:50px;}
  nav ul li {position:relative; width:100%; padding-left:15px;}
  .l-header__btn {padding:0; max-width:315px; width:100%; height:45px; margin:0 auto 20px;}
  .l-header__btn:last-child:last-child {border-bottom:none;}
  .l-header__btn a {border-radius:45px; border-bottom:none;}
  .l-header__btn a .l-header__btnInner p::after {display:none;}
}


/*========================================================================
	footer
========================================================================*/
footer section {background-color:#EEEEEE;}
footer section:last-child {background-color:#404040;}
.l-footer__upper {background:#EEEEEE; padding:100px 50px;}
.l-footer__logo img {margin-bottom:25px;}
.l-footer__catch {letter-spacing: 0; font-size: 1.125rem; font-weight: 600;}
.l-footer__menuItemLink li { margin-bottom: 20px;}
.l-footer__menuItemLink li:last-child {margin-bottom:0;}
.l-footer__menuItemLink li a { text-decoration: none; font-size: 1rem; font-weight: 500;}


/* 追加記述 */
.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 {background:#404040; color: #FFF; padding-top: 90px; padding-bottom: 100px;}
.l-footer__lower .outer { max-width:1160px; width:100%; margin:0 auto;}
.l-footer__companyInfo { margin-bottom: 100px;}
.l-footer__infoLogo {margin-bottom: 20px;}
.l-footer__companyName {margin-bottom: 0; color:#999;}
.l-footer__companyAddress {margin-bottom:0;color:#999;}
.l-footer__companyTelLink {text-decoration:none; color:#999;}
.l-footer__menuList {display: flex; gap: 40px;}
.l-footer__menuListTitle {margin-bottom: 20px;}
.l-footer__menuListTitle.single_link {margin-bottom:0;}
.l-footer__menuItemLink {text-decoration: none;}
.l-footer__menuListDetail {margin-bottom:15px;}
.l-footer__menuItemDetalLink {text-decoration:none; color:#999; 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;}
}

@media only screen and (max-width: 768px) {
  .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;}
  .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;}
}

/*========================================================================
	banner
========================================================================*/
.banner {border:1px solid #ccc; display:flex; justify-content:center; align-items:center; width: 100%; height: 100%; aspect-ratio: 41 / 15;}

/*========================================================================
	トップページ
========================================================================*/
/* mainvisual */
.p-mainVisual {position: relative;}
.p-mainVisual::after {position:absolute; width:100%; height:100%; content:''; left:0; bottom:0; background: url(../images/top/top_mv_bgimg.svg)no-repeat left bottom; z-index:-1;}
.p-mainVisual__catch {display: flex; align-items: center; justify-content: flex-end;}
.p-mainVisual__desc {text-align: right; letter-spacing: 0; font-size: clamp(15px, calc(15px + (19 - 15) * ((100vw - 1084px) / (1636 - 1084))), 19px); line-height:184%; margin-bottom:40px;}
.p-mainVisual__btn {width:300px; height:60px; text-align:center; float:right;}
.p-mainVisual__btn img {padding-right:16px;}
.outer {padding-left:92px; padding-right:92px;}

@media only screen and (max-width: 1366px) {
  .outer {padding-left:50px; padding-right:50px;}
  .p-mainVisual .l-container {height:500px;}
  .p-mainVisual .l-row {display: flex; align-items: center;}
}

@media only screen and (max-width: 768px) {
  .outer {padding-left:20px; padding-right:20px;}
  .p-mainVisual { padding: 50px 30px;}
  .p-mainVisual::after {background-size: contain;}
  .p-mainVisual__catch {justify-content: center;}
  .p-mainVisual .l-container {height:initial; gap:25px;}
  .p-mainVisual .l-row {order:2;}
  .p-mainVisual__desc {text-align:left; margin-bottom:25px;}
  .p-mainVisual__btn {float:initial; margin:0 auto;}
}


/* project */
.p-project {padding:0 50px 150px;}
.p-project .outer {padding-left:92px; padding-right:92px;}
.p-project__title {display:flex; align-items:center; font-size:1.75rem; font-weight: 500;}
.p-project__title .l-num {font-size:5.3125rem; font-weight:700; color:#B89C4B; padding:0 10px;}
.p-project__title .l-company {font-size: 2.1875rem; font-weight: 700;}
.p-project__lead {margin-bottom:50px;}
.p-project__lead p {text-align:center; font-size:1.875rem; letter-spacing:0; font-weight:700;}
.p-project__lead p span {background:#000000; color:#FFF; padding:5px;}
.p-project__bannersArea {margin-bottom:50px;}
.p-project__banners {border:1px solid #ccc; display:flex; justify-content:center; align-items:center; width:100%; height:100%; aspect-ratio:41 / 15;}
.p-project__banners:first-child img {max-width: 67.915%;}
.p-project__banners:nth-child(2) img {max-width: 60.0425%;}
.p-project__banners:nth-child(3) img {max-width: 74.95%;}
.p-project__banners:nth-child(4) img {max-width: 92.345%;}
.p-project__banners:nth-child(5) img {max-width: 82.82%;}
.p-project__banners:nth-child(6) img {max-width: 67.5%;}
.p-project__images {background: #E2F1FE; border-radius: 5px;}
.p-project__images:nth-child(2) { background: #FCF3E2;}
.p-project__images:nth-child(3) { background: #EBFBF6;}
.p-project__images:nth-child(4) { background: #E8F1EB;}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-project__lead p {font-size: clamp(18px, calc(18px + (28 - 18) * ((100vw - 769px) / (1082 - 769))), 28px);}
  .p-project__title {font-size: clamp(21px, calc(21px + (30 - 21) * ((100vw - 769px) / (1082 - 769))), 30px);}
  .p-project__title .l-num {font-size: clamp(60px, calc(60px + (80 - 60) * ((100vw - 769px) / (1082 - 769))), 80px);}
  .p-project__title .l-company {font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 769px) / (1082 - 769))), 32px);}
}

@media only screen and (max-width: 1366px) {
  .p-project {padding-bottom:100px}
  .p-project .outer {padding-left:50px; padding-right:50px;}
}

@media only screen and (max-width: 768px) {
  .p-project { padding: 0 10px 60px;}
  .p-project .outer {padding-left:20px; padding-right:20px;}
  .p-project__lead {margin: 0 auto 40px;}
  .p-project__lead p {font-size:1rem; text-align:left; line-height:175%; display: inline-block;}
  .p-project__bannersArea {gap:10px; margin-bottom: 30px;}
  .p-project__caseImgArea {gap: 10px;}
  .p-project__summary {margin-bottom:20px;}
  .p-project__title {font-size: clamp(13px, calc(13px + (18 - 13) * ((100vw - 375px) / (768 - 375))), 18px);}
  .p-project__title .l-num {font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 375px) / (768 - 375))), 48px); padding:0 5px;}
  .p-project__title .l-company {font-size: clamp(16px, calc(16px + (21 - 16) * ((100vw - 375px) / (768 - 375))), 21px);}
}


/* service */
.p-service .outer { background-color:#EFEFEF; border-radius: 10px; padding-bottom: 100px;}
.p-service__header__outer {display: flex; align-items: center;}
.p-service__header { display: flex; align-items: center; justify-content: flex-start;}
.p-service__title {display: flex; justify-content: flex-start; align-items: center; gap: 44px;}
.p-service .l-container.p-service__iconArea {aspect-ratio:1636 / 204; overflow: hidden;}
.p-service__icon {position:relative; width: 100%; height: 100%; display: flex; justify-content:center; align-items:center; text-align: center; }
.p-service__iconInner { z-index: 1;}
.p-service__iconInner img {margin-bottom:5px;}
.p-service__icon p {font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 1084px) / (1636 - 1084))), 18px); font-weight: 700; z-index: 1;}
.p-service__icon::before {position:absolute; content: ''; top:50%; right:-23px; transform:translateY(-50%); width:0; height:0; border-style:solid; border-width: 12.5px 0 12.5px 12px; border-color: transparent transparent transparent #B9B9B9; z-index: 1;}
.p-service__icon::after { position: absolute; content: ''; top: 50%; left: 0; background-color:#FFF; aspect-ratio: 1; width: 100%; z-index: 0; border: 1px solid #D5D5D5; border-radius: 150px; transform: translateY(-50%);}
.p-service__item {background:#FFF; padding:30px 28px; border-radius:20px; display:grid;  margin-bottom:30px; box-shadow:0 0 6px rgb(0 0 0 / 16%); grid-template-columns: 1fr;}
.p-service__item.mb0 { margin-bottom: 0;}
.p-service__item.col2, .p-service__Listbox.col2 { gap:32px; grid-template-columns:1fr 1fr; z-index:1;}
.p-service__itemImage { overflow:hidden; position:relative;}
.p-service__itemImage img { width:auto; position:absolute; height:100%; max-width:initial; top:0; left:50%; transform: translateX(-50%);}
.p-service__itemContent h3, .p-service__item h3 { font-weight:700; margin:0 0 20px; display:flex; justify-content: flex-start; align-items:center; gap:22px;}
.p-service__Listbox { display: grid; grid-template-columns: 1fr; gap: 10px;}
.p-service__box { background: #F0F7FC; border-radius: 100px; display: flex; justify-content: flex-start; align-items: center; gap: 47px; position: relative; padding: 30px 40px; min-height: 104px;}
.p-service__box::after { position: absolute; content: ''; background: url(../images/common/blue_arrow.svg) no-repeat right center; right:30px; top:50%; transform: translateY(-50%); width:12px; height:18px; z-index:0;}
.p-service__box h5 { color:#144E7B; font-size:1.125rem; margin:0; padding-left:26px; position:relative; max-width:246px; width:100%;
 line-height: 123%;}
.p-service__box h5::before {position:absolute; content:''; background: url(../images/common/blue_dot.svg) no-repeat left center; left:0; top:50%; transform:translateY(-50%); width:13px; height:13px; z-index:0;}
.p-service__box h5 span {font-size:0.875rem; font-weight:400;}
.p-service__box p {max-width:350px; width:100%; font-size:0.9375rem;}
.p-service__item .p-service__box {padding:0;}
.p-service__item .p-service__box a {width:100%; display:flex; justify-content:flex-start; align-items:center; gap:30px; padding:21px 50px 22px 30px; text-decoration:none;}
.p-service__item h4 {margin-top:0; margin-bottom:24px; font-weight:700; font-size:1.4375rem; padding-left:25px; position:relative; height:fit-content;}
.p-service__item h4::before {position:absolute; content:''; background:url(../images/common/blue_dot.svg) no-repeat left center; left:0; top:50%; transform:translateY(-50%); width:13px; height:13px; z-index:0;}
.p-service__supportItem {display:flex; justify-content:center; align-items:center; gap:30px; padding:25px 0; border-bottom:1px solid #AEAEAE; padding-left:5px; padding-right:5px;}
.p-service__supportItem:first-child {padding-top:0;}
.p-service__supportItem:last-child { border-bottom:none; padding-bottom:0;}
.p-service__supportItem h5 {max-width:211px; width:100%; margin-top:0; margin-bottom:0; color:#144E7B; line-height:100%;}
.p-service__supportItem p {line-height:130%;}

@media only screen and (max-width: 1366px) {
  .p-service .outer {padding-bottom: 50px;}
  .p-service__title {font-size:1.3125rem; gap:20px;}
  .p-service__itemImage {display: none;}
  .p-service__item.col2, .p-service__Listbox.col2 { grid-template-columns:1fr; gap:10px;}
  .p-service__item.mb0.tb30 { margin-bottom: 30px;}
  .p-service__iconInner {width:100%;}
  .p-service__iconInner img {width:40%;}
  .p-service__icon p {font-size:0.75rem; line-height:110%;}
  .p-service__icon::before {right:-18px;}
  /* 追加記述 */
  .p-service__box p {max-width:650px}
  /* 追加記述 ここまで */
}

@media only screen and (max-width: 768px) {
  .p-service .outer {padding:20px;}
  .p-service__header__outer {display: none;}

  /* 追加記述 */
  .p-service__header {margin-bottom:5px;}
  /* 追加記述 ここまで */
  
  .p-service__box {border-radius:5px;}
  .p-service__box h5, .p-service__box p {max-width:initial;}
  .p-service__box h5 {font-size: 0.9375rem;}
  .p-service__box p {font-size:0.875rem; line-height:140%;}
  .p-service__box::after {display:none;}
  .p-service__item {padding:15px; border-radius:10px; margin-bottom:20px;}
  .p-service__item.col2, .p-service__Listbox.col2 { grid-template-columns:1fr; gap:10px;}
  .p-service__item .p-service__box a { flex-wrap: wrap; padding:15px; gap:5px;}
  .p-service__supportItem {justify-content: flex-start; flex-wrap: wrap; gap:5px; padding:15px 0;}
  .p-service__supportItem h5 {max-width: initial; margin-bottom: 5px;}
  .p-service .l-container.p-service__iconArea {width:100%; height:100%; aspect-ratio:157 / 30;}
  .p-service__iconInner img {width:40%; margin-bottom:3px;}
  .p-service__iconInner p {font-size: 0.5rem;}
  .p-service__icon::before {border-width:5.5px 0 5.5px 5px; right:-8px;}
  .p-service__itemContent h3, .p-service__item h3 {font-size:1rem;}
  .p-service__item h3 img {width: 34.5px;}
  .p-service__item h4 {font-size: 1rem;}
}

/* team */
.p-team {padding-top:150px;}
.p-team__title {margin-bottom:30px;}
.p-team__title .en {padding-right:30px;}
.p-team__title .jp {font-size:1.25rem; font-weight: 700;}

@media only screen and (max-width: 1366px) {
  .p-team {padding-top:100px;}
}
@media only screen and (max-width: 768px) {
  .p-team {padding-top:60px;}
  .p-team .l-container {gap: 30px;}
  .p-team .btn {margin:0 auto;}
}

/* case */
.p-case {padding-top:150px; padding-bottom:150px;}
.p-case__header {display:flex; align-items:center; justify-content:space-between; margin-bottom:30px;}
.p-case__header .en {padding-right:35px;}
.p-case__header .jp {font-size:1.25rem; font-weight:700;}
.p-case__item {position:relative;}
.p-case__item:hover {opacity: 0.8; transition: ease-in-out 0.5s;}
.p-case__item a {position:absolute; width:100%; height:100%; z-index:2;}
.p-case__item .p-case-imgArea {aspect-ratio:519 / 295; margin-bottom:25px; border-radius:10px; box-shadow:0 0 6px rgb(0 0 0 / 16%); position:relative; display:flex; justify-content:center; align-items:center;}
.p-case__item:nth-child(3) .p-case-imgArea {align-items: center;}
.p-case__item .p-case-imgArea img {max-width: 56%; height: auto;}
.p-case__item:nth-child(2) .p-case-imgArea img {max-width:52%;}
.p-case__item:nth-child(3) .p-case-imgArea img {max-width:70%;}
.p-case__item .p-case-imgArea::after {position:absolute; content:''; background:url(../images/common/case_imgarea_bggreen.svg) no-repeat center bottom; background-size:contain; left:0; bottom:0; width:100%; height:100%; z-index:0;}
.p-case__item:nth-child(2) .p-case-imgArea::after { background: url(../images/common/case_imgarea_bglightblue.svg) no-repeat center bottom; background-size:contain;}
.p-case__item:nth-child(3) .p-case-imgArea::after {background:url(../images/common/case_imgarea_bgblue.svg) no-repeat center bottom; background-size:contain;}
.p-case-imgArea img {position:relative; z-index:1;}
.p-case-company_name {line-height:140%; margin-bottom:10px; font-weight:700; font-size: 1.125rem;}
.p-case-company_info {margin-bottom:15px; line-height:147%;}
.p-case-company_category {font-size:0.875rem; color:#6EADDF; padding:5px 18px; border:1px solid #6EADDF; display:inline-block; border-radius:3px; font-weight:500; line-height:140%;}
@media only screen and (max-width: 1366px) {
  .p-case {padding-top:100px; padding-bottom:100px;}
}
@media only screen and (max-width: 768px) {
  .p-case {padding-top: 60px; padding-bottom:60px;}
  .p-case .l-container {gap:30px;}
  
  .p-case__item .p-case-imgArea {margin-bottom:15px;}
  .p-case-company_name {font-size: 0.9375rem; margin-bottom:5px;}
  .p-case-company_info {margin-bottom:5px;}
  .p-case-company_category {font-size:0.625rem;padding:5px 10px;}
}

/* download */
.p-download .outer {border-radius:10px; padding:90px 92px 105px; background-color:#EEEEEE;}
.p-download .l-container div.item-7col {width: 100%; height:100%;aspect-ratio:943 / 308; display:flex; justify-content:center; align-items: center; overflow: hidden;}

@media only screen and (max-width: 1366px) {
  .p-download .outer {padding:40px;}
  .p-download .l-container div.item-7col {aspect-ratio:621 / 308;}
}
@media only screen and (max-width: 768px) {
  .p-download .outer {padding:40px 20px 50px;}
  .p-download .l-container {gap:25px;}
  .p-download__item .btn {margin:0 auto;}
  .p-case__header {margin-bottom: 20px;}
  .p-case__header .btn {display:none;}
  .p-download .l-container div.item-7col {aspect-ratio:157 / 77;}
}


/*========================================================================
	under general - 下層ページ共通
========================================================================*/

/* breadcrub */
.breadcrub {padding: 0 50px;}
.breadcrub__list { display:flex; justify-content:flex-start; align-items:center; padding:20px 0 45px;}
.breadcrub__list li {padding-right:46px; position:relative;}
.breadcrub__list li::before {position:absolute; content:''; background:url(../images/common/breadcrub_gray_arrow.svg)no-repeat center right; right:20px; top:50%; transform:translateY(-50%); width:6px; height:10px;}
.breadcrub__list li:last-child {padding:0;}
.breadcrub__list li:last-child::before {display:none;}
.breadcrub__list li a {vertical-align:initial; line-height:100%;}
.breadcrub__list li img {vertical-align:middle;}
.p-under-page-title {padding:0;}
.under .p-under-download {padding: 0 50px 150px;}
.under .p-under-download .outer {background:#EEEEEE; padding: 90px; border-radius: 10px;}
.p-under-download__img {width:100%; height:100%; aspect-ratio:941 / 308; overflow:hidden; display:flex; justify-content:center; align-items:center; border-radius:20px;}
.p-under-download__img img {width:100%; height: auto;}

@media only screen and (max-width: 1366px) {
  .under .p-under-download .outer { padding: 50px; }
}

@media only screen and (max-width: 768px) {
  .breadcrub {padding:0 10px;}
  .breadcrub__list {padding:15px 0 10px;}
  .breadcrub__list li {font-size:0.625rem; padding-right:23px;}
  .breadcrub__list li::before {right:7px;}
  .under .p-under-download {padding:0 10px 60px;}
  .under .p-under-download .outer {padding:40px 20px; border-radius: 10px;}
  .p-under-download__item, .p-under-download__desc {margin-bottom: 30px;}
}

.under .under-common-visual {position: relative; background:#EC9F95; border-radius: 10px; width:100%; height:100%; min-height: 515px; aspect-ratio:364 / 135; overflow: hidden; padding-top:30px; padding-bottom:30px;}
.under .under-common-visual.rectuit {background:#6BB47F;}
.under .under-common-visual.system {background:#45B7E3;}
.under .under-common-visual.service-site {background:#CB677B;}

.p-under-page-title-intro {position: relative; color:#FFF; font-size: clamp(22px, calc(22px + (25 - 22) * ((100vw - 1084px) / (1636 - 1084))), 25px); font-weight:700;}
.p-under-page-title-intro {display: flex; align-items:center; }
.p-under-page-title-intro::after {background-color:#FFF; border-radius:1px; content:''; flex-grow:1; height:1px; margin-left:15px;}

.p-under-page-catch {color:#FFF; font-size:0.9375rem; font-weight:500; margin-bottom:35px;}

.under .under-common-visual::before {position: absolute; content: ''; background:url(../images/under/under_common_right_bgimg.svg)no-repeat center center; top:50%; right:25px; transform:translateY(-50%); z-index:2; height:93.45%; aspect-ratio:732/625; mix-blend-mode:screen;}
.under .under-common-visual::after {position: absolute; content: ''; background:#E89389; border-radius:10px; width:82.4%; height:60%; top:50%; left:50%; transform: translateX(-50%) translateY(-50%); z-index:0;}
.under .under-common-visual.rectuit::after {background:#5FA972;}
.under .under-common-visual.system::after {background:#3BADDD;}
.under .under-common-visual.service-site::after {background:#C35B6F;}
.under .under-common-visual .l-container {position:relative; z-index:2; align-items: center; height:100%;}
.p-under-common__titleArea {margin-bottom: 40px;}
.p-under-common__title {margin-bottom:10px;}
.p-under-common__title .en-border {line-height:100%; position:relative; display:flex; align-items:center;}
.p-under-common__title .en-border::after {width:100%; background-color:#B2B2B2; border-radius:1px; content:''; flex-grow:1; height:1px; margin-left:20px;}
.p-under-common__title .en {position:relative; color:#B9B9B9; font-family:'jost'; font-size: 0.9375rem; display:inline; z-index:2;}
.under-common-visual .btn-area {display: flex; justify-content: flex-start; align-items: center; gap:32px;} 
.under-common-visual_text {font-size: clamp(127px, calc(127px + (147 - 127) * ((100vw - 1266px) / (1820 - 1266))), 147px); line-height: 100%; color:rgb(255 255 255 / 28%); font-weight:700; position: absolute; left:12px; bottom:-10px; letter-spacing:0px; z-index:1;}

.p-under-page-mainvisual {height:100%; display:flex; justify-content:center; align-items:center;}
.p-under-page-mainvisual img {width: 90%;}


@media screen and (min-width: 768px) and (max-width: 1366px) {
.under .under-common-visual .btn p {font-size:0.875rem;}
}
@media only screen and (max-width: 1366px) {
  .under .under-common-visual {aspect-ratio:initial;}
  .under .under-common-visual::before {display:none;}
  .under .under-common-visual {min-height:initial; padding-top:80px; padding-bottom:80px;}
  .p-under-page-catch {margin-bottom:45px;}
}
@media only screen and (max-width: 768px) {
  .under .under-common-visual {padding-top:45px; padding-bottom:45px;}
  .p-under-page-title-intro {font-size: 0.875rem; margin-bottom: 20px;}
  .under-common-visual_text {font-size: 2.5625rem; bottom:-2px;}
  .p-under-page-catch {margin-bottom:30px; line-height:185%;}
  .under-common-visual .btn-area {justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:30px;}
  .p-under-common__titleArea {margin-bottom:25px;}
  .p-under-common__title {margin-bottom:0;}
}


/*========================================================================
	features - 特長・コンセプトページ
========================================================================*/
.p-features-page-title {position:relative; z-index:2;}
.p-features-mainVisual__catch {display:flex; justify-content:flex-start; align-items:center;}
.p-features-mainVisual__img {position:relative;}
.p-features-mainVisual__img::after {position:absolute; content:''; background:url(../images/under/under_concept_img01_bg.webp) no-repeat center center; background-size:contain; top:50%; left:50%; transform: translateX(-50%) translateY(-50%); aspect-ratio: 651 / 493; width:144.175%; z-index:-1;}
.p-features-mainVisual__img img {position:relative; z-index: 2;}
.p-features-mainVisual__desc { font-size: clamp(18px, calc(18px + (25 - 18) * ((100vw - 1084px) / (1636 - 1084))), 25px); line-height: 210%;}
@media only screen and (max-width: 1366px) {
  .under section.p-features-mainVisual__area {padding-left:0; padding-right:0;}
}
@media only screen and (max-width: 768px) {
  .p-features-mainVisual__inner {margin-bottom:20px;}
  .p-features-mainVisual__img::after {width:100%;}
  .p-features-mainVisual__img {order:2;}
  .p-features-mainVisual__desc {font-size:0.9375rem;}
}

/* features axis */
.p-axis {background: url(../images/under/under_concept_bgimg02.webp)no-repeat center center;}
.p-axis__items {display: grid; grid-template-columns: 1fr 1fr 1fr; padding: 30px; margin-bottom: 30px; background-color: #FFF; border-radius: 15px; box-shadow: 0 0 6px rgb(0 0 0 / 15%); gap:60px;}
.p-axis__items:nth-child(2) {display: grid; grid-template-columns: 1fr 1fr;}
.p-axis__items:last-child {margin-bottom:0;}
.p-axis__item {position: relative;}
.p-axis__item::after {position: absolute; content:''; border-right:1px solid #CCC; height:100%; top:0; right:-30px; }
.p-axis__item:last-child::after {border-right: none;}
.p-axis__icon {max-width: 110px; width: 26.635%; aspect-ratio: 1; background: #ECECEC; display: flex; justify-content: center; align-items: center; border-radius: 10px; margin-bottom: 20px;}
.p-axis__icon img {width: 70.725%;}
.p-axis__items:nth-child(2) .p-axis__icon {width:16.64%;}
.p-axis__catch {padding: 60px 0 0;}
.p-axis__catch p {text-align:center; font-size: 1.4375rem; font-weight:700;}
.p-axis__catch p span {color:#B89C4B; text-decoration: underline;}

@media only screen and (max-width: 768px) {
  .p-axis__items, .p-axis__items:nth-child(2) {display:grid; grid-template-columns:1fr; padding:20px;}
  .p-axis__item::after {border-right:none; border-bottom:1px solid #CCC; width:100%; height:1px; top:initial; bottom:-30px; right:0;}
  .p-axis__item:last-child::after {border-bottom: none;}
  .p-axis__catch p {text-align:left; font-size:1.125rem;}
  .p-axis__icon, .p-axis__items:nth-child(2) .p-axis__icon {max-width: 80px; width: 100%;}
  .p-axis__content p {line-height: 160%;}
  .p-co-creation__imgArea {margin-bottom: 30px;}
}

/* features co-creation */
.p-co-creation__body {margin-bottom: 50px;}
.p-co-creation__support {background-color:#F3F3F3; padding:30px; border-radius:10px;}


@media only screen and (max-width: 768px) {
  .p-co-creation__body, .p-co-creation__supportList, .p-co-creation .l-container {gap:20px;}
  .p-co-creation__support {padding:20px;}
  .p-co-creation__body {margin-bottom: 30px;}
}

/* features domain */
.p-domain__item_body {margin-bottom: 30px;}
.p-domain__item {background-color:#FFF8EC; border-radius:10px; padding: 30px;}
.p-domain__item:nth-child(2) {background-color:#F1FBF3;}
.p-domain__item:nth-child(3) {background-color:#F2F7FB;}
.p-domain__item:nth-child(4) {background-color:#F3F3F3;}
.p-domain__iconArea {width:100%; display:flex; justify-content: flex-end; margin-bottom:10px;}

@media only screen and (max-width: 1366px) {
  .p-domain__item_body {gap:21px;}
  .p-domain__iconArea {margin-bottom:0;}
  .p-domain__item {padding:20px 15px 30px;}
  .p-domain__itemDesc {font-size:0.9375rem;}
}

/* features project-group */
.under section.p-project-group {padding-bottom: 100px;}
.p-project-group__header {margin-bottom:30px;}
.p-project-group__image {margin-bottom:20px;}
.p-project-group__body {margin-bottom:150px;}

@media only screen and (max-width: 1366px) {
  .p-project-group__body {margin-bottom:100px;}
}
@media only screen and (max-width: 768px) {
  .under section.p-project-group {padding-bottom: 50px;}
  .p-project-group__body {margin-bottom:60px;}
  .p-project-group__item {margin-bottom: 30px;}
  .p-project-group__item:last-child {margin-bottom:0;}
}


/* under corporate */
.p-under-reason {border-bottom: 1px solid #B5B5B5;}
.p-under-reason-content {margin-bottom:45px; align-items:center;}
.p-under-reason__flowitem {position:relative; background-color:#F2F7FB; padding:30px 30px 40px 20px; display:flex; align-items: center; justify-content: flex-start; gap:22px}
.p-under-reason__flowitem::after {content:""; position:absolute; top:0; right:-32px;  width:32px; height:100%; background:#f2f7fc; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.p-under-reason__flowitem:last-child::after {display:none;}
.p-under-reason__flownum .num {font-family:'jost'; font-size:clamp(30px, calc(30px + (50 - 30) * ((100vw - 1084px) / (1636 - 1084))), 50px); color:#0E558E;}
.l-container.p-under-reason__flowlist {align-items:stretch;}

@media only screen and (max-width: 1366px) {
  .p-under-reason__flowitem {flex-wrap:wrap; align-items:flex-start; display:block; padding:20px;} 
  .p-under-reason__flowitem::after {content:""; position:absolute; top:0; right:-21px;  width:21px; height:100%; background:#f2f7fc; clip-path: polygon(0 0, 100% 50%, 0 100%);}
}

@media only screen and (max-width: 768px) {
  .p-under-reason__img {order:2;}
  .p-under-reason__main {order:1;}
  .p-under-reason__desc:last-child {margin-bottom: 20px;}
  .p-under-reason__flowitem {padding:15px; gap:8px; align-items:flex-start;}
  .p-under-reason__flowitem::after {top:auto; bottom:-30px; left:0; right:0; margin:auto; width:100%; height:30px; background:#f2f7fc; clip-path:polygon(0 0, 50% 100%, 100% 0);}
  .l-container.p-under-reason__flowlist {gap:30px;}
}

/* under case */
.under section.p-case {padding-top: 100px; border-top: 1px solid #B5B5B5;}
.under section.p-case-single {padding-top: 60px;}
.under .p-case .l-container {margin-bottom: 40px;}
.under .p-case-single__body {position:relative; display:flex; justify-content:center; align-items:center;}
.under .p-case-single__img {position:relative;}
.under .p-case-single__company {position:absolute; bottom:0; right:0; color:#FFF; max-width:663px; height:120px; width:100%; text-align:right; padding: 26px 32px;}
.under .p-case-single__company::after {position:absolute; content:''; background:#3F7898; mix-blend-mode: multiply; width:100%; height:100%; top: 0; right: 0; z-index:0;}
.under .p-case-single__companyName {font-size: clamp(18px, calc(18px + (20 - 18) * ((100vw - 1084px) / (1636 - 1084))), 20px); position: relative; font-weight:700; margin-bottom:10px; z-index: 1;}
.under .p-case-single__companyCategory {font-size: 0.75rem; position: relative; z-index: 1; font-size: 500; padding: 2px 18px; border:1px solid #FFF; border-radius:3px; display:inline-block;}

.under .p-case-single__title .en {font-size:clamp(40px, calc(40px + (55 - 40) * ((100vw - 1084px) / (1636 - 1084))), 55px); font-family:'jost'; font-weight:400; padding-right:35px;}
.under .p-case-single__title .jp {font-size: 1.25rem;}
.under .p-case-single__subtitle {color:#0E558E; font-size:clamp(25px, calc(25px + (30 - 25) * ((100vw - 1084px) / (1636 - 1084))), 30px); font-weight:700;}
.under .p-case-single__lead {line-height:217%;}
.under .p-under_case__header_subcatch {color:#0E558E; font-size:clamp(25px, calc(25px + (30 - 25) * ((100vw - 1084px) / (1636 - 1084))), 30px); font-weight:700;line-height: 145%;}

@media only screen and (max-width: 768px) {
  .under section.p-case {padding-top: 50px;}
  .under .p-case-single__header {margin-bottom: 40px;}
  .under .p-case-single__header .btn {margin: 0 auto;}
  .under .p-case-single__company {height:80px; padding: 10px;}
  .under .p-case-single__companyName {margin-bottom:5px;}
  .under .p-case-single__subtitle {font-size:1.25rem;}
  .under .p-under_case__header_subcatch {font-size:1.25rem;}
}

/* under plan */
.p-under-plan__option {margin-top: 135px; margin-bottom: 35px;}
.p-under-plan__optionItem {background-color:#F2F7FB; display:flex; justify-content: center; align-items:center; border-radius:10px; aspect-ratio:1; flex-wrap:wrap; padding:20px;}
.p-under-plan__optionList {gap:25px 32px;}
.p-under-plan__optionIcon {width:100%; height:120px; display:flex; justify-content:center; align-items:center; margin-bottom:30px;}
.p-under-plan__optionIcon img {width:100%; max-height:100%; height:100%; object-fit:contain; display:block;}
.p-under-plan__optionText {color:#0E558E; font-size:clamp(18px, calc(18px + (25 - 18) * ((100vw - 1367px) / (1920 - 1367))), 25px); font-weight:700; text-align:center; line-height:130%; width:100%; height:30%; display:flex; justify-content:center; align-items:center;}
.p-under-plan__list {margin-bottom:30px;}
.p-under-plan__item {padding:30px; background:#FFF; border-radius:10px; box-shadow:0 0 6px rgb(0 0 0 / 16%);}
.p-under-plan__price {display:flex; justify-content:center; align-items:center; gap:10px;}
.p-under-plan__page {margin-bottom:0;}
.p-under-plan__page span {border:1px solid #707070; padding:7px 5px; border-radius:5px; letter-spacing:0; line-height:130%; font-weight:700; margin-bottom:0; font-size:clamp(14px, calc(14px + (16 - 14) * ((100vw - 1367px) / (1920 - 1367))), 16px); } 
.p-under-plan__amount {font-size:clamp(32px, calc(32px + (46 - 32) * ((100vw - 1367px) / (1920 - 1367))), 32px); font-weight: 700;letter-spacing: 0; }
.p-under-plan__amount .p-under-plan__currency {font-size:clamp(16px, calc(16px + (20 - 16) * ((100vw - 1367px) / (1920 - 1367))), 20px); padding-left: 5px;}
.p-under-plan__duration {background: #F1F1F1; padding:20px; }

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-under-plan__price {flex-wrap: wrap; gap:10px; margin-bottom:20px;}
  .p-under-plan__page span {padding:7px 10px; font-size:0.875rem;}
  .p-under-plan__item {padding: 15px;}
  .p-under-plan__amount {line-height:100%; font-size:2rem;}
  .p-under-plan__option {margin-top: 50px; margin-bottom: 35px;}
  .p-under-plan__optionItemInner{width:100%;}
  .p-under-plan__optionIcon {max-width:130px; margin:0 auto 10px; width:40%; height:auto;}
  .p-under-plan__optionList {gap:21px;}
  .p-under-plan__optionItem {padding:5px;}
  .p-under-plan__optionText {font-size:clamp(11px, calc(11px + (18 - 11) * ((100vw - 769px) / (1366 - 769))), 18px); letter-spacing:0;} 
  .p-under-plan__amount .p-under-plan__currency {font-size:1rem; padding-left:2px;}
  .p-under-plan__duration {padding: 15px; font-size:clamp(13px, calc(13px + (16 - 13) * ((100vw - 769px) / (1366 - 769))), 16px);}
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .p-under-plan__page {width: 100%; display:flex; justify-content:center;}
}
@media only screen and (max-width: 768px) {
  .p-under-plan__item {padding:15px;}
  .p-under-plan__page span {padding:5px 10px;}
  .p-under-plan__price {gap:10px;}
  .p-under-plan__optionList {gap:10px; align-items: stretch;}
  .p-under-plan__option {margin-top:60px; margin-bottom:15px;}
  .p-under-plan__optionItem {padding:10px;}
  .p-under-plan__optionText {font-size:clamp(11px, calc(11px + (18 - 11) * ((100vw - 320px) / (768 - 320))), 18px);}
  .p-under-plan__list {gap:10px;}
  .p-under-plan__optionIcon {max-height:50px; width: 100%; margin:0 auto 5px;}
}

/* under faq - accordion */
.under section.p-faq {background:#EEEEEE; padding-top:92px; padding-bottom:100px; margin-bottom:150px;}
.faq-accordion-area {max-width:100%; margin: 0 auto 40px;}
.faq-accordion-box {margin-bottom:20px; transition:0.4s ease; box-shadow:0 0 6px rgb(0 0 0 / 16%);}
.faq-accordion-box p { margin-bottom: 15px; }
.faq-accordion-box p:last-child { margin-bottom: 0; }
.faq-accordion-box a { color: #0E6EC8; }
.faq-accordion-box a:hover { text-decoration: underline; }
.acc-toggle { display: none; }
.Label {height: 112px; padding:30px 60px 30px 100px;display:flex; align-items:center; font-size:clamp(18px, calc(18px + (25 - 18) * ((100vw - 1084px) / (1636 - 1084))), 25px); font-weight: 700; line-height: 150%; background:#FFF; border-radius:8px; box-shadow:0 0 6px rgb(0 0 0 / 16%); }
.Label::before { content:""; width: 23px; height: 23px; border-top: 5px solid #0E558E; border-right: 5px solid #0E558E; -webkit-transform: rotate(45deg); position: absolute; top: 42px; right: 32px; transform: rotate(135deg); }
.Label::after {content:"Q"; color:#000; position:absolute; font-size:20px; font-weight:700; top:30px; left:30px; width:50px; height:50px; display:flex; justify-content: center; align-items:center; border-radius:5px; background:#EFEFEF;}
.faq-accordion-box:hover .Label { cursor: pointer; }
.Label, .content { -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); }
.Label:hover { opacity: 0.5; }
.content {position:relative; height: 0; margin-bottom:10px; padding:0 20px; overflow: hidden;}
.content::after {content:"A"; color:#FFF; position:absolute; font-size:20px; font-weight:700; top:15px; left:30px; width:50px; height:50px; display:flex; justify-content: center; align-items:center; border-radius:5px; background:#0E558E;}
.acc-toggle:checked + .Label { border-bottom:none; border-radius:8px 8px 0 0; margin-bottom:0; }
.acc-toggle:checked + .Label + .content {height:auto; padding:30px 60px 30px 100px; margin-bottom:12px; line-height:150%; background-color:#FFF; border-top:none; border-radius:0 0 8px 8px;}
.acc-toggle:checked + .Label::before { transform: rotate(-45deg); }
.faq-answertitle { position: relative; font-size: 18px; font-weight: 700; margin-bottom: 15px; padding-left: 25px; }
.faq-answertitle::before {position:absolute; color:#0E6EC8; content:'■'; left:0; top:0;}
.faq-subtext {font-weight:700;}
.faq-list {margin-bottom:15px;}
.faq-list li {position:relative; padding-left:20px; margin-bottom:5px;}
.faq-list li::before {position:absolute; color:#0E6EC8; content:'・'; left:0; top:0; }
.faq_caution {font-size:14px; margin-bottom:20px;}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .Label::before {content:""; width:16px; height:16px; border-top:3px solid #0E558E; border-right:3px solid #0E558E; -webkit-transform:rotate(45deg); transform:rotate(135deg) translateX(-50%); top:50px;}
  .acc-toggle:checked + .Label::before {transform:rotate(-45deg); right:28px;}
}

@media only screen and (max-width: 768px) {
  .under section.p-faq {padding-top:45px; padding-bottom:50px; margin-bottom:50px;}
  .faq-accordion-area {margin-bottom:0;}
  .faq-accordion-box:last-child {margin-bottom: 0;}
  .Label {font-size:1rem; height:auto; padding:42px 15px 31px 15px;}
  .Label::after {font-size:0.6875rem; top:15px; left:15px; width:27px; height:27px;}
  .Label::before {content:""; width:10px; height:10px; border-top:2px solid #0E558E; border-right:2px solid #0E558E; -webkit-transform:rotate(45deg); position:absolute; top:initial; right: 50%; transform:rotate(135deg) translateX(-50%); bottom:10px;}
  .acc-toggle:checked + .Label + .content {padding: 42px 15px 32px 15px;}
  .content::after {content:"A"; color:#FFF; position:absolute; font-size:0.6875rem; top:15px; left:15px; width:27px; height:27px; display:flex; border-radius:2px; background:#0E558E;}
}
