@charset "utf-8";
/* 2026.07.29 -
---------------------------------------------------*/
#fv {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 0 0 8.3333%;
  text-align: justify;
  position: relative;
  width: 100%;
}
#fv > span {
  aspect-ratio: 3 / 2;
  border-radius: 20px;
  display: block;
  overflow: hidden;
  position: relative;
  width: 50%;
  z-index: 0;
}
#fv > span img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#fv > div {
  position: relative;
  width: 60%;
  margin-right: -10%;
  z-index: 1;
}
#fv h2 {
  border-left: #f6a200 solid 8px;
  display: block;
  font-size: 1em;
  margin: 0 0 2em;
  padding-left: 1.5em;
}
#fv h2 em {
  color: #00294c;
  display: block;
  font-size: 2.5em;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .05em;
  margin-bottom: .5em;
}
#fv h2 small {
  display: block;
  font-weight: 500;
  line-height: 1em;
}
#fv h2 small span::before {
  content: "／";
  margin: 0 .25em;
}
#fv h2 small span:nth-of-type(1)::before {
  display: none;
}
#fv p {
  line-height: 1.875em;
}
#fv p.copy01 {
  color: #054070;
  font-size: 1.875em;
  font-weight: 700;
}
#fv p.copy02 {
  font-size: 1.28125em;
  font-weight: 500;
}
#fv p span {
  padding: .125em 0 .25em;
  background-color: #FFFFFF;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
#fv ul.services {
  background-color: #004098;
  border-radius: 60px;
	display: inline-flex;
	flex-wrap: wrap;
	list-style: none;
	padding: .5em 1.5em;
	margin: 0 0 2em;
}
#fv ul.services li {
  color: #FFF;
  font-weight: 500;
}
#fv ul.services li:nth-of-type(1)::before {
  display: none;
}
#fv ul.services li::before {
  content: "×";
  color: #fabe00;
  font-weight: 800;
  margin: 0 .5em;
}
#overview {
  text-align: justify;
}
#overview > section {
  clear: both;
  margin: 0 0 8.3333%;
}
#overview > section:nth-last-of-type(1) {
  margin: 0;
}
#overview h3 {
  align-items: center;
  color: #054070;
  display: flex;
  font-size: 1.875em;
  font-weight: 700;
  line-height: normal;
  margin: 0 0 1em;
}
#overview h3::before {
  border-radius: 5px;
  background-color: #2f669f;
  content: "";
  display: block;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #FFFFFF;
  margin-right: .5em;
  padding: .1875em 0;
  text-align: center;
  width: 1.875em;
}
#overview section:nth-of-type(1) h3::before {
  content: "01";
}
#overview section:nth-of-type(2) h3::before {
  content: "02";
}
#overview section:nth-of-type(3) h3::before {
  content: "03";
}
#overview section:nth-of-type(4) h3::before {
  content: "04";
}
#overview section:nth-of-type(5) h3::before {
  content: "05";
}
#overview p {
  line-height: 1.875em;
}
#overview p.challenges {
  color: #004076;
  font-size: 1.25em;
  font-size: 1.1875em;
  font-weight: 600;
  margin: 0 0 2em;
}
#overview dl.databox {
  background-color: #F5F5F5;
  border-radius: 10px;
  border: #CCCCCC solid 2px;
  display: block;
  font-size: 1.0625em;
  padding: 1.5em;
}
#overview dl.databox dt {
  font-weight: 600;
}
#overview dl.databox dt::before {
  content: "【";
}
#overview dl.databox dt::after {
  content: "】";
}
#overview dl.databox dd {
  margin: 0 0 1em;
}
#overview dl.databox dd:nth-last-of-type(1) {
  margin: 0;
}
#overview dl.databox dd ul {
  list-style: disc outside;
  margin-left: 1.5em;
}
#overview dl.timeline-list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.0625em;
  font-weight: 500;
  margin: 0 0 2em;
}
#overview dl.timeline-list dt {
	margin: 0 0 .5em;
  width: 10%;
}
#overview dl.timeline-list dd {
	margin: 0 0 .5em;
  width: 90%;
}
#overview ul.advisory {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
#overview ul.advisory > li {
  display: block;
  color: #FFFFFF;
  border-radius: 10px;
  margin-right: 2%;
  overflow: hidden;
  padding: 1.5em;
  text-align: right;
  width: 32%;
}
#overview ul.advisory > li img {
  aspect-ratio: 1;
  border-radius: 100px;
  display: block;
  margin: 0 auto 1em;
  overflow: hidden;
  position: relative;
  height: auto;
  width: 40%;
}
#overview ul.advisory > li em {
  display: block;
  text-align: center;
  font-size: 1.25em;
  font-weight: 600;
  margin-bottom: .5em;
}
#overview ul.advisory > li:nth-of-type(3n) {
  background-color: #2f669f;
  margin-right: 0;
}
#overview ul.advisory > li:nth-of-type(3n+1) {
  background-color: #197fe3;
}
#overview ul.advisory > li:nth-of-type(3n+2) {
  background-color: #2a6fba;
}
#overview ul.advisory > li ul {
  display: block;
  font-size: .9375em;
  list-style: disc outside;
  margin-left: 1em;
  text-align: justify;
}
#overview ul.advisory > li small {
  font-size: .9375em;
}
#overview ul.outcomes {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
#overview ul.outcomes > li {
  background-color: #fafafa;
  border: #CCCCCC solid 2px;
  border-radius: 10px;
  display: block;
  margin-right: 2%;
  overflow: hidden;
  padding: 1.5em;
  text-align: center;
  width: 32%;
}
#overview ul.outcomes > li em {
  color: #014076;
  display: block;
  text-align: center;
  font-size: 1.25em;
  font-weight: 700;
  margin-bottom: 1em;
}
#overview ul.outcomes > li:nth-of-type(3n) {
  margin-right: 0;
}
#overview ul.outcomes > li > img {
  aspect-ratio: 1;
  border-radius: 100px;
  display: block;
  margin: 0 auto 1em;
  overflow: hidden;
  position: relative;
  height: auto;
  width: 40%;
}
#overview ul.outcomes > li span {
  display: block;
  color: #ff6600;
  font-size: .9375em;
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 1em;
  text-align: center;
}
#overview ul.outcomes > li span > em {
  color: #ff6600;
  font-size: 2.75em;
  display: inline;
}
#overview ul.outcomes > li small {
  display: block;
  font-size: .9375em;
  text-align: center;
}
#overview dl.qa-item {
}
#overview dl.qa-item dt {
  color: #446280;
  font-size: 1.1875em;
  font-weight: 700;
  margin: 0 0 .5em;
}
#overview dl.qa-item dt::before {
  content: "Q.";
  margin-right: .25em;
}
#overview dl.qa-item dd {
  margin-bottom: 2em;
}
#overview section div.prof {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 2em 0;
}
#overview section div.prof > span {
  aspect-ratio: 9 / 10;
  aspect-ratio: 10 / 11;
  border-radius: 10px;
  display: block;
  overflow: hidden;
  position: relative;
  width: 20%;
}
#overview section div.prof > span img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#overview section div.prof > p {
  display: block;
  width: 75%;
}
#overview section div.prof > p span.name {
  display: block;
  font-weight: 600;
  font-size: 1.125em;
  margin: 0 0 .5em;
}
#overview section div.prof > p span.copy {
  color: #014076;
  display: block;
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.75em;
}
#overview section p.cmt {
  color: #014076;
  display: block;
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.75em;
}
div#Content > aside.corp h2 {
  border: none;
  border-left: #f6a200 solid 6px;
  color: inherit;
  font-size: 1.375em;
  font-weight: 600;
  line-height: normal;
  padding: .25em 0 .375em .5em;
  text-align: left;
  margin-bottom: 1.5em;
}
div#Content > aside.corp h2:nth-of-type(n+2) {
  border-left: #2f669f solid 6px;/*
  font-size: 1.25em;*/
  font-weight: 700;
  margin-bottom: 1em;
}
div#Content > aside.corp h2 a {
  text-decoration: underline;
}
div#Content > aside.corp > span {
  aspect-ratio: 4 / 3;
  border-radius: 5px;
  display: block;
  margin-bottom: 1.5em;
  overflow: hidden;
  position: relative;
}
div#Content > aside.corp > span img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
div#Content > aside.corp dl {
  align-items: center;
  border-bottom: #CCC solid 1px;
  display: flex;
  font-size: .9375em;
  flex-wrap: wrap;
  margin: 0 0 2.5em;
  line-height: normal;
  position: relative;
  text-align: justify;
}
div#Content > aside.corp dl:nth-of-type(1) {
  border-top: #CCC solid 1px;
  padding: 2.5em 0;
}
div#Content > aside.corp dl:nth-of-type(1)::before {
  content: "CORPORATE DATA";
  display: inline-block;
  background-color: #FFFFFF;
  color: #f6a200;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: .05em;
  padding-right: 1em;
  position: absolute;
  transform: translateY(-50%);
  top: 0;
}
div#Content > aside.corp dl:nth-of-type(1) dt {
  background-color: #999999;
  color: #FFFFFF;
  border-radius: 4px;
  font-weight: 500;
  font-size: .9375em;
	margin: 0 0 .5em;
  padding: .25em 0 .375em;
  text-align: center;
  width: 25%;
}
div#Content > aside.corp dl:nth-of-type(1) dt:nth-of-type(n+4) {
  width: 100%;
}
div#Content > aside.corp dl:nth-of-type(1) dd {
	margin: 0 0 .5em;
  box-sizing: border-box;
  padding-left: .5em;
  width: 75%;
}
div#Content > aside.corp dl:nth-of-type(1) dd:nth-last-of-type(1) {
  margin: 0;
}
div#Content > aside.corp dl:nth-of-type(1) dd:nth-of-type(n+4) {
  width: 100%;
  padding-left: 0;
}
div#Content > aside.corp dl:nth-of-type(1) dt:nth-of-type(n+4) {
  margin-top: 1em;
  width: 100%;
}
div#Content > aside.corp dl:nth-of-type(1) dd ul {
  display: list-item;
  list-style: disc outside;
  line-height: normal;
  margin-left: 1.5em;
}
div#Content > aside.corp dl:nth-of-type(1) dd ul li::marker {
  color: #f6a200;
  color: #666666;
}
div#Content > aside.corp dl dd:nth-last-of-type(1) {
  margin: 0;
}
div#Content > aside.corp dl dt::before {
  display: none;
}
div#Content > aside.corp ul.others {
  border-bottom: #CCC solid 1px;
  margin: 0 0 3em;
  padding: 0 0 2em;
}
div#Content > aside.corp ul.others li {
  align-items: center;
  display: inline-flex;
  border: none;
  font-size: .9375em;
  margin: 0;
  padding: 0;
}
div#Content > aside.corp ul.others li a {
  color: #014076;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
}
div#Content > aside.corp ul.others li::before {
  content: "trip_origin";
  color: orange;
  font-family: 'Material Symbols Outlined';
  font-weight: 800;
  margin-right: .5em;
  line-height: 1;
  transform: translateY(.075em);
}
div#Content > aside.corp dl:nth-of-type(2) {
  display: block;
}
div#Content > aside.corp dl:nth-of-type(2) dt {
  background-color: #e6e6e6;
  border-radius: 4px;
  display: block;
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 1.25em;
  padding: .75em 0;
  text-align: center;
}
div#Content > aside.corp dl:nth-of-type(2) dt a {
  color: #003666;
  display: block;
}
div#Content > aside.corp dl:nth-of-type(2) dd {
  display: flex;
  font-size: .9375em;
  justify-content: space-between;
  margin-bottom: 2em;
  text-align: justify;
}
div#Content > aside.corp dl:nth-of-type(2) dd:nth-last-of-type(1) {
}
div#Content > aside.corp dl:nth-of-type(2) dd span {
  aspect-ratio: 1;
  border-radius: 8px;
  display: block;
  overflow: hidden;
  position: relative;
  width: 30%;
}
div#Content > aside.corp dl:nth-of-type(2) dd span img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
div#Content > aside.corp dl:nth-of-type(2) dd span a:hover {
	opacity: 1;
}
div#Content > aside.corp dl:nth-of-type(2) dd span a:hover img {
  transform: scale(1.125);
}
div#Content > aside.corp dl:nth-of-type(2) dd div,
div#Content > aside.corp dl:nth-of-type(2) dd p {
  width: 65%;
}
div#Content > aside.corp dl:nth-of-type(2) dd div ul {
  list-style: disc outside;
  margin-left: 1.5em;
}
div#Content > aside.corp .bnr {
  text-align: center;
}
div#Content > aside.corp .bnr a {
  background-color: orangered;
  border-radius: 60px;
  color: #FFFFFF;
  display: inline-block;
  font-size: 1.1875em;
  font-weight: 500;
  margin: 0 auto;
  text-align: center;
  transform: translateY(-50%);
  padding: .375em 1.5em .5em;
  vertical-align: bottom;
}
div#Content > aside.corp .bnr a:hover {
  background-color: orange;
	opacity: 1;
}
div#Content > aside.corp .bnr img {
  height: auto;
  width: auto;
  max-width: 100%;
}

#target {
  background-color: #f0f0f0;
  display: block;
  padding: 0 8.3333% 8.3333%;
  text-align: left;
}
#target > h2 {
  color: #FFFFFF;
  font-size: 1em;
  margin-bottom: 0;
  text-align: center;
  transform: translateY(-50%);
  width: 46.25%;
}
#target > h2 em {
  background-color: #014076;
  border-radius: 60px;
  color: #FFFFFF;
  display: inline-block;
  font-size: 1.5em;
  font-weight: 700;
  margin: 0 auto;
  padding: .75em 2em .8em;
  text-align: center;
  vertical-align: bottom;
}
#target > p {
  font-size: 1em;
  margin-bottom: 2em;
  text-align: center;
  width: 46.25%;
}
#target > p::before {
  content: "＼";
  margin-right: .5em;
}
#target > p::after {
  content: "／";
  margin-left: .5em;
}
#target > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#target > div > span {
  display: block;
  margin: 0;
  width: 46.25%;
}
#target > div > span img {
  display: block;
  height: auto;
  width: 87.5%;
}
#target > div >  dl {
  display: block;
  background-color:  #FFFFFF;
  border: #CCCCCC solid 2px;
  border-radius: 10px;
  padding: 2em 3em;
  text-align: justify;
  width: 53.75%;
}
#target > div > dl dt {
  align-items: center;
  color: #014076;
  display: inline-flex;
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.3;
}
#target > div > dl dt::before {
  content: "trip_origin";
  color: orange;
  font-family: 'Material Symbols Outlined';
  margin-right: .3333em;
  line-height: 1;
  transform: translateY(.075em);
}
#target > div >  dl dd {
  margin: 0 0 1em;
}
#target > div >  dl dd:nth-last-of-type(1) {
  margin: 0;
}
div#Content.casestudies {
  padding: 4.1666% 8.3333% 8.3333%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
div#Content.casestudies > main {
	width: calc(75% - 60px);
}
div#Content.casestudies > aside {
	width: 25%;
}

@media (max-width: 1200px) {
div#Content.casestudies {
	padding: 30px 20px !important;
  display: block;
}
#fv {
  display: block;
  margin: 0 0 8.3333%;
}
#fv > span {
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  margin: 0 0 1em;
  width: auto;
}
#fv > div {
  margin: 0;
  width: auto;
}
#fv ul.services {
  font-size: .8125em;
	padding: .5em;
  justify-content: center;
  width: 100%;
}
#fv ul.services li::before {
  margin: 0 .25em;
}
#fv h2 {
  border-left: #f6a200 solid 4px;
  padding-left: 1em;
}
#fv h2 em {
  font-size: 1.375em;
  line-height: normal;
}
#fv h2 small {
  font-size: .875em;
  line-height: normal;
}
#fv p.copy01 {
  font-size: 1.1875em;
  line-height: normal;
}
#fv p.copy02 {
  font-size: 1em;
}
#overview h3 {
  font-size: 1.1875em;
}
#overview p.challenges {
  font-size: 1em;
  margin: 0 0 1em;
}
#overview dl.databox {
  font-size: .9375em;
  padding: 1em;
}
#overview dl.timeline-list {
  display: block;
  font-size: .9375em;
  font-weight: 500;
  margin: 0 0 2em;
}
#overview dl.timeline-list dt {
  display: block;
  font-weight: 700;
  color: #999999;
	margin: 0;
  width: auto;
}
#overview dl.timeline-list dd {
  display: block;
	margin: 0 0 .5em;
  width: auto;
}
#overview ul.advisory {
  display: block;
}
#overview ul.advisory > li {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 0 1em;
  padding: 1em;
  width: auto;
}
#overview ul.advisory > li div {
	width: calc(75% - 1em);
	width: calc(77.5% - 1em);
}
#overview ul.advisory > li ul {
  margin-left: 1.5em;
  margin-bottom: 0;
}
#overview ul.advisory > li img {
  float: left;
  margin: 0;
  width: 25%;
  width: 22.5%;
}
#overview ul.advisory > li em {
  font-size: 1.0625em;
  text-align: justify;
}
#overview ul.advisory > li small {
  font-size: .8125em;
  vertical-align: bottom;
}
#overview ul.outcomes {
  display: block;
}
#overview ul.outcomes > li {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 0 1em;
  padding: 1em;
  width: auto;
}
#overview ul.outcomes > li > img {
  float: left;
  margin: 0 1em 0 0;
  width: 22.5%;
}
#overview ul.outcomes > li > div {
	width: calc(75% - 1em);
	width: calc(77.5% - 1em);
}
#overview ul.outcomes > li em {
  font-size: 1.125em;
  margin: 0 0 .5em;
  text-align: justify;
}
#overview ul.outcomes > li span {
  text-align: justify;
  margin-bottom: .5em;
}
#overview ul.outcomes > li span > em {
  font-size: 2em;
}
#overview ul.outcomes > li small {
  clear: both;
  display: block;/*
  font-size: .875em;*/
  text-align: justify;
}
#overview section div.prof {
  margin: 2em 0 1em;
}
#overview section div.prof > p span.name {
  font-size: .9375em;
  line-height: normal;
  margin: 0;
}
#overview section div.prof > p span.copy {
  display: none;
}
#overview section div.prof > span {
  width: 22.5%;
}
#overview section div.prof > p {
  width: 72.5%;
}
#overview section p.cmt {
  font-size: 1.1875em;
  margin: 0 0 1em;
}
#overview dl.qa-item dt {
  font-size: 1em;
}

div#Content.casestudies > main,
div#Content.casestudies > aside {
  clear: both;
  display: block;
  width: auto;
}  
div#Content > aside.corp {
  margin-bottom: 1em;
}  
div#Content > aside.corp h2 {
  border-left-width: 4px;
  font-size: 1.375em;
}
#target {
	padding: 0 20px 30px;
}
#target > h2 {
  width: auto;
}
#target > h2 em {
  font-size: 1em;
  padding: .375em 1.5em;
}
#target > p {
  margin: 0 0 1.5em;
  width: auto;
  text-align: justify;
}
#target > p::before {
  display: none;
}
#target > p::after {
  content: "。";
  margin: 0;
}
#target > div {
  display: block;
}
#target > div > span {
  margin: 0 0 1.5em;
  width: auto;
}
#target > div > span img {
  margin: 0 auto;
  width: 66.6666%;
}
#target > div >  dl {
  padding: 1em .875em;
  width: auto;
}
#target > div > dl dt {
  align-items: center;
  font-size: 1.0625em;
  letter-spacing: 0;
}
#target > div > dl dt::before {
  margin-right: .125em;
}
#target > div >  dl dd {
}
#target > div >  dl dd:nth-last-of-type(1) {
  margin: 0;
}
}

div#Content.casestudies.archives {
  display: flex;
  flex-wrap: wrap;
  justify-content: normal;
}
div#Content.casestudies.archives > article {
	display: block;
	margin: 0 5% 5% 0;
	overflow: hidden;
	text-align: justify;
	width: 30%;
}
div#Content.casestudies.archives > article:nth-of-type(3n) {
  margin-right: 0;
}
div#Content.casestudies.archives > article a:hover {
	opacity: 1;
}
div#Content.casestudies.archives > article > span.pict {
  aspect-ratio: 3 / 2;
  border-radius: 5px;
  display: block;
  margin: 0 0 1em;
  overflow: hidden;
  position: relative;
}
div#Content.casestudies.archives > article > span.pict img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
div#Content.casestudies.archives > article > span a:hover img {
  transform: scale(1.125);
}
div#Content.casestudies.archives > article > h2 {
  font-size: 1.375em;
  font-weight: 600;
  margin: 0 0 1em;
}
div#Content.casestudies.archives > article > ul {
  border-left: #f6a200 solid 6px;
  display: block;
  font-size: 1em;
  list-style: none !important;
  margin: 0 0 1em;
  padding-left: 1em;
}
div#Content.casestudies.archives > article > ul li.ctg {
  font-size: 1.0625em;
  font-weight: 600;
}
div#Content.casestudies.archives > article > ul li small {
  font-size: .875em;
}
div#Content.casestudies.archives > article > ul li small:nth-of-type(n+2)::before {
  content: "／";
  margin: 0 .25em;
}
div#Content.casestudies.archives > article p.copy01 {
    color: #004076;
    font-weight: 500;
}
  
@media (max-width: 1200px) {
div#Content.casestudies.archives {
  display: block;
}
div#Content.casestudies.archives > article {
  margin: 0 0 2em;
	width: auto;
}
div#Content.casestudies.archives > article:nth-last-of-type(1) {
  margin-bottom: 0;
}
div#Content.casestudies.archives > article > span.pict {
  aspect-ratio: 1;
  float: left;
  margin: 0 1em 1em 0;
  width: 25%;
}
div#Content.casestudies.archives > article > h2 {
  font-size: 1.0625em;
  margin: 0;
}
div#Content.casestudies.archives > article > ul {
  border: none;
  line-height: normal;
}
div#Content.casestudies.archives > article > ul li.ctg {
  font-size: .9375em;
}
div#Content.casestudies.archives > article p.copy01 {
  clear: both;
  display: block;
  font-size: .9375em;
}
}

