@charset "utf-8";
/***************************************************************************************************
	page_company.css
***************************************************************************************************/
/*
*/
#page_company {
  width: 100%;
  padding-top:110px;
  padding-bottom: 100px;
  background-color: #ffffff;
}
/*
*/
#page_company .blk_1 {
  width:100%;
}
#page_company .blk_1 .gsty_phd_1 > div::before {
  position: absolute;
  content: '';
  display: block;
  left:0;
  top:0;
  width: 100%;
  height:100%;
  background-image: url('../images/company_bk_01.webp');
  background-size: auto 100%;
  background-position: 100% 50%;

}
#page_company .blk_1 .gsty_phd_1 .bk > div {
  display: none;
}
/*
*/
#page_company .blk_2 {
  width: 100%;
  padding:0 var(--gap_1);
}
#page_company .blk_2 > div {
  margin: auto;
  padding:40px 0;
  width: 800px;
}
#page_company .blk_2 .gsty_nav_1 ul {
  flex-wrap: wrap;
}
#page_company .blk_2 .gsty_nav_1 ul li:nth-of-type(4)::after {
  display: block;
  left:0;
}
/*
*/
#page_company .blk_3 {
  width: 100%;
  padding:0 var(--gap_1);
  padding-top: 40px;
  padding-bottom:80px;
}
#page_company .blk_3 > div {
  background-color: #fafafa;
  border-radius: 30px;
  padding:80px 0;
  max-width: 1340px;
  margin: auto;
}
#page_company .blk_3 > div > div {
  width:100%;
  padding:0 var(--gap_3);
  margin: auto;
}
#page_company .blk_3 > div > div > div {
  max-width: var(--max_wid_1);
  margin: auto;
}
#page_company .blk_3 hgroup {
  text-align: center;
}
/*  */
#page_company .blk_3_1 {
 font-size: clamp(14px, 1.45vw, 16px);
}
#page_company .blk_3_1_1 h3 {
  text-align: center;
  font-size: clamp(18px, 2.36vw, 26px);
  letter-spacing: var(--ls_2);
  font-weight: 500;
  color:var(--col_1);
  padding:1.2em 0 1em 0;
}
#page_company .blk_3_1_1 p:nth-of-type(2) {
  padding: 1em 0 0 0;
}
#page_company .blk_3_1_1 p:nth-of-type(2) a {
  color:var(--col_1);
  transition:color .1s ease-out 0s;
}
#page_company .blk_3_1_1 p:nth-of-type(2) a.nm_hover {
  color:var(--col_2);
  text-decoration: underline;
}
#page_company .blk_3_1_1 p:nth-of-type(2) a:after {
  content:'';
  display: inline-block;
  width:1.125em;
  height:1.125em;
  vertical-align: middle;
	background-image: url('../images/ico_07.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
  margin: auto auto .2em .5em;
}
#page_company .blk_3_1_2 {
  padding:1em 0 0 0;
}
#page_company .blk_3_1_2 figure {
  width:100%;
  display: block;
}
#page_company .blk_3_1_2 figure figcaption {
  position: absolute;
  display: inline-block;
  left:0;
  top:100%;
  translate:0 -100%;
  padding:1em 1.2em;
  background-color: rgba(255,255,255,.8);
  z-index: 1;
}
#page_company .blk_3_1_2 figure figcaption h3 {
  font-size: clamp(14px, 1.81vw, 20px);
  font-weight: 500;
  color:var(--col_1);
}
#page_company .blk_3_1_2 figure figcaption ul {
  padding:.3em 0 0 0;
  list-style: none;
}
#page_company .blk_3_1_2 figure figcaption ul li {

  padding:0 0 0 1.5em;
  margin-bottom: .1em;
  font-size: clamp(12px, 1.11vw, 16px);
}
#page_company .blk_3_1_2 figure figcaption ul li::before {
  position:absolute;
  content:'';
  display: block;
  width:1em;
  aspect-ratio: 16 / 20;
  left:0;
  top:.3em;
	background-image: url('../images/company_ico_01.svg');
	background-position: 50% 50%;
	background-size: contain;
}
#page_company .blk_3_1_2 figure figcaption ul li:nth-of-type(2)::before {
  top:1.2em;
	background-image: url('../images/company_ico_02.svg');
}
#page_company .blk_3_1_2 figure figcaption ul li:nth-of-type(3) {
  white-space: nowrap;
  padding:0;
}
#page_company .blk_3_1_2 figure figcaption ul li:nth-of-type(3)::before {
	background-image:none;
}
#page_company .blk_3_1_2 figure figcaption ul li span {
  white-space: nowrap;
}
#page_company .blk_3_1_2 figure figcaption ul li span.sty_1 {
  font-size: clamp(18px, 2.08vw, 30px);
  color:#D1202E;
  font-weight: 500;
  letter-spacing: 0;
  padding:0 .1em 0 0;
}
#page_company .blk_3_1_2 figure img {
  width:100%;
  display: block;
}
/*
*/
#page_company .blk_4 {
  padding: 0 var(--gap_1);
  padding-bottom: 80px;
}
#page_company .blk_4 > div {
  max-width: var(--max_wid_1);
  margin: auto;
}
/*  */
#page_company .blk_4_1 {
  padding:40px 0 0 0;
}
#page_company .blk_4_1 > dl {
  display: table;
  width:100%;
  list-style: none;
  border-collapse: collapse;
  border-bottom: 1px solid var(--col_1);
  font-size: clamp(14px, 1.45vw, 16px);
}
#page_company .blk_4_1 dl > div {
  display: table-row;
  border-top: 1px solid var(--col_1);
}
#page_company .blk_4_1 dl > div > dt,
#page_company .blk_4_1 dl > div > dd {
  display: table-cell;
  
  padding: 1.2em .7em 1.2em 0;
  text-align: left;
  vertical-align: top;
}
#page_company .blk_4_1 dl > div > dt {
  white-space: nowrap;
}
#page_company .blk_4_1 dl > div > dd > img {
  width: 100%;
  max-width: 250px;
}
#page_company .blk_4_1 dl > div > dd > ul {
  list-style: none;
}
#page_company .blk_4_1 dl > div > dd > ul:nth-of-type(2) {
  margin-top: 1.5em;
}
#page_company .blk_4_1 dl > div > dd.sty_1 {
  display: flex;
  flex-wrap: wrap;
}
#page_company .blk_4_1 dl > div > dd.sty_1 > dl {
  width: 33.3%;
  min-width: max-content;
  padding:0 2em 1em 0;
}
#page_company .blk_4_1 dl > div > dd.sty_1 > dl dt {
  white-space: nowrap;
}
#page_company .blk_4_1 dl > div > dd.sty_1 > dl dd ul {
  list-style-position: inside;
  list-style: none;
}
#page_company .blk_4_1 dl > div > dd.sty_1 > dl dd ul li {
  padding:0 0 0 1.1em;
  white-space: nowrap;
}
#page_company .blk_4_1 dl > div > dd.sty_1 > dl dd ul li::before {
  position: absolute;
  content:'';
  display: block;
  background-color: #333333;
  width:.25em;
  height:.25em;
  border-radius: 50%;
  left:.4em;
  top:.8em;
}
/*  */
#page_company .blk_4_1 a.gmap {
  color:var(--col_1);
  transition:color .1s ease-out 0s;
  padding:0 0 0 1.5em;

	background-image: url('../images/ico_08.svg');
	background-position: .2em 50%;
	background-size: 1em auto;
  white-space: nowrap;
}
#page_company .blk_4_1 a.nm_hover.gmap {
  color:var(--col_2);
  text-decoration: underline;
}
/*  */
#page_company .blk_4_1 .tgt_nm_mailto {
  color:var(--col_1);
  cursor:pointer;
}
#page_company .blk_4_1 .tgt_nm_mailto * {
  transition:color .1s ease-out 0s;
}
#page_company .blk_4_1 .tgt_nm_mailto.nm_hover * {
  color:var(--col_2);
  text-decoration: underline;
}
#page_company .blk_4_1 .tgt_nm_mailto > span:nth-of-type(1)::before {
  content:attr(data-email);
}
#page_company .blk_4_1 .tgt_nm_mailto > span:nth-of-type(1)::after {
  content:'@';
}
#page_company .blk_4_1 .tgt_nm_mailto > span:nth-of-type(2)::before {
  content:attr(data-email);
}
/*
*/
#page_company .blk_5 {
  padding: 0 var(--gap_1);
  padding-bottom: 80px;
}
#page_company .blk_5 > div {
  max-width: var(--max_wid_1);
  margin: auto;
}
#page_company .blk_5_1 {
  background-color: #FAFAFA;
  border-radius: 20px;
  margin-top: 40px;
  padding:4% 5%;
}
#page_company .blk_5_1 dl {
  display: table;
  margin: auto;
}
#page_company .blk_5_1 dl div {
  display: table-row;
  font-size: clamp(14px, 1.45vw, 16px);
}
#page_company .blk_5_1 dl div dt {
  display: table-cell;
  white-space: nowrap;
  text-align: left;
  vertical-align: top;
  padding:1em clamp(30px, 8vw, 120px) 1em 0;
  overflow: hidden;
}
#page_company .blk_5_1 dl div dt::before,
#page_company .blk_5_1 dl div dt::after {
  position: absolute;
  content:'';
  display:block;
  width:1.15em;
  height:1.15em;
  border-radius: 50%;
  background-color: var(--col_1);
  left:calc(100% - clamp(15px, 4vw, 60px));
  top:1.7em;
  translate: -50% -50%;
}
#page_company .blk_5_1 dl div dt::before {
  width:1px;
  height: 110%;
  background-color: var(--col_1);
  border-radius: 0;
  top:-5%;
  translate: calc(-50% - 1px) 0;
}
#page_company .blk_5_1 dl div:nth-of-type(1) dt::before {
  top:1.7em;
}
#page_company .blk_5_1 dl div dt > span {
  display: block;
  font-size: clamp(18px, 2.18vw, 24px);
  line-height: 1;
  padding:0 .5em 0 0;
}
#page_company .blk_5_1 dl div dt > span > span {
  font-size: clamp(12px, 1.27vw, 14px);
  line-height: 1;
}
#page_company .blk_5_1 dl div dd {
  display: table-cell;
  width: auto;
  padding:1em 0;
  text-align: left;
  vertical-align: top;
}
#page_company .blk_5_1 dl div dd span {
  display: block;
}
/*
*/
#page_company .blk_6 {
  padding: 0 var(--gap_1);
  padding-bottom: 100px;
}
#page_company .blk_6 > div {
  max-width: var(--max_wid_1);
  margin: auto;
  font-size: clamp(14px, 1.45vw, 16px);
}
/*  */
#page_company .blk_6_1 {
  margin-top: 2em;
}
#page_company .blk_6_1 p:nth-of-type(2) {
  padding:1em 0 0 0;
}
#page_company .blk_6_1 p:nth-of-type(2) a {
  color:var(--col_1);
  transition:color .1s ease-out 0s;
}
#page_company .blk_6_1 p:nth-of-type(2) a.nm_hover {
  color:var(--col_2);
  text-decoration: underline;
}
#page_company .blk_6_1 p:nth-of-type(2) a:after {
  content:'';
  display: inline-block;
  width:1.25em;
  height:1.25em;
  vertical-align: middle;
	background-image: url('../images/ico_05.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
  margin: auto auto .2em .5em;
}
/*  */
#page_company .blk_6_2 {
  background-color: #FAFAFA;
  border-radius: 20px;
  margin-top: 2em;
  padding:4% 5% 7% 5%;
  text-align: center;
}
#page_company .blk_6_2 h3 {
  font-size: clamp(16px, 1.72vw, 19px);
  padding:0 0 .8em 0;
}
#page_company .blk_6_2 ul {
  display: flex;
  width: fit-content;
  flex-direction: column;
  list-style: none;
  margin: auto;
  border-bottom:1px dashed var(--col_1);
}
#page_company .blk_6_2 ul li {
  width: auto;
  display: block;
  font-size: clamp(14px, 1.45vw, 16px);
  padding: 1.3em 0;
  border-top:1px dashed var(--col_1);
}
#page_company .blk_6_2 ul li a {
  display: block;
  color:var(--col_1);
	background-image: url('../images/ico_05.svg');
	background-position: 100% 50%;
	background-size: 1.25em auto;
  padding:0 2.2em 0 0;
  text-align: left;
  transition:.1s ease-out 0s;
  line-height: 1.5;
}
#page_company .blk_6_2 ul li a.nm_hover {
  color:var(--col_2);
  text-decoration: underline;
}
/*
*/
#page_company .blk_7 {
  padding: 0 var(--gap_1);
}
#page_company .blk_7 > div {
  max-width: var(--max_wid_1);
  margin: auto;
  font-size: clamp(14px, 1.45vw, 16px);
}
/*  */
#page_company .blk_7_1 {
  margin-top: 2em;
}
#page_company .blk_7_1 p:nth-of-type(2) {
  padding:1em 0 0 0;
}
/*  */
#page_company .blk_7_2 {
  background-color: #FAFAFA;
  border-radius: 20px;
  margin-top: 2em;
  padding:4% 5%;
}
#page_company .blk_7_2 section {
  background-color: #FAFAFA;
  border-radius: 20px;
  margin-top: 2.5em;
}
#page_company .blk_7_2 section:nth-of-type(1) {
  margin-top: auto;
}
#page_company .blk_7_2 section h3 {
  font-size: clamp(14px, 1.72vw, 19px);
  padding:0 0 .8em 1em;
}
#page_company .blk_7_2 section h3:before {
  position: absolute;
  content:'';
  display: block;
  width:.6em;
  height: .6em;
  background-color: #333333;
  left:0;
  top:.7em;
}
#page_company .blk_7_2 section ul {
  font-size: clamp(14px, 1.45vw, 16px);
  border-top: 1px solid var(--col_1);
  list-style: none;
}
#page_company .blk_7_2 section ul li {
  border-bottom: 1px solid var(--col_1);
  padding: .8em 0;
}
#page_company .blk_7_2 section ul li a {
  color:var(--col_1);
  display:inline-block;
}
#page_company .blk_7_2 section ul li a.nm_hover {
  color:var(--col_2);
  text-decoration: underline;
}
#page_company .blk_7_2 section ul li a:after {
  content:'';
  display: inline-block;
  width:1.125em;
  height:1.125em;
  vertical-align: middle;
	background-image: url('../images/ico_07.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
  margin: auto auto .2em .5em;
}
/*
*/
#page_company .psty_tit_1 h2 {
  font-size: clamp(16px, 1.63vw, 18px);
  font-weight: 500;
  line-height: 1;
  color:var(--col_1);
  padding:0 0 .6em 0;
}
#page_company .psty_tit_1 p {
  font-size: clamp(26px, 4.72vw, 52px);
  font-weight: 500;
  line-height: 1;
  color:var(--col_1);
  font-family: "Roboto", sans-serif;
}
/*
*/
#page_company .panc {
  position:absolute;
  left:0;
  top:-160px;
  pointer-events: none;

  /* width:100px;
  height:100px;
  border:1px solid #ff0000; */
}

/***************************************************************************************************
  responsive
***************************************************************************************************/
@media (width <= 1100px) {
/*
*/
#page_company {
  padding-top:80px;
  padding-bottom: 80px;
}
/*
*/
#page_company .blk_2 {
  padding:0 var(--gap_2);
}
#page_company .blk_2 > div {
  width:63%;
  min-width:280px;  
  max-width: 500px;
  padding:clamp(20px, 3.63vw, 50px) 0;
}
#page_company .blk_2 .gsty_nav_1 ul {
  flex-wrap: wrap;
}
#page_company .blk_2 .gsty_nav_1 ul li:nth-of-type(4)::after {
  display: none;
}
/*
*/
#page_company .blk_3 {
  width: 100%;
  padding:0;
  padding-top: 0;
  padding-bottom:40px;
}
#page_company .blk_3 > div {
  padding:30px var(--gap_2);
  max-width: none;
}
#page_company .blk_3 > div > div {
  padding:0;
}
#page_company .blk_3 > div > div > div {
  max-width: 600px;
}
/*  */
#page_company .blk_3_1_2 figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#page_company .blk_3_1_2 figure figcaption {
  position: relative;
  top:0;
  translate:0 0;
  order: 2;
}
#page_company .blk_3_1_2 figure img {
  order:1;
}
/*
*/
#page_company .blk_4 {
  padding: 0 var(--gap_2);
  padding-bottom: 40px;
}
#page_company .blk_4 > div {
  max-width: none;
}
/*
*/
#page_company .blk_5 {
  padding: 0 var(--gap_2);
  padding-bottom: 60px;
}
#page_company .blk_5 > div {
  max-width: none;
}

/*  */
#page_company .blk_5_1 {
  margin-top: 20px;
  padding:4% 5%;
}
#page_company .blk_5_1 dl div dt > span {
  padding:0;
}
/*
*/
#page_company .blk_6 {
  padding: 0 var(--gap_2);
  padding-bottom: 60px;
}
#page_company .blk_6 > div {
  max-width: none;
}
/*
*/
#page_company .blk_7 {
  padding: 0 var(--gap_2);
}
#page_company .blk_7 > div {
  max-width: none;
}
/*
*/
#page_company .panc {
  top:-80px;
}
/*  */
}
/*
*/
@media (width <= 900px) {
/*
*/
#page_company {
  padding-bottom: 40px;
}
/*
*/
#page_company .blk_1 .gsty_phd_1 > div::before {
  display: none;
}
#page_company .blk_1 .gsty_phd_1 .bk::before {
  position: absolute;
  content: '';
  display: block;
  left:0;
  top:0;
  width: 100%;
  height:100%;
  background-image: url('../images/company_bk_01.webp');
  background-size: auto 100%;
  background-position: 50% 50%;
}
/*  */
}