@charset "utf-8";

/* common ------------- */
.page_section { padding-bottom: 100px; }
@media screen and (min-width: 1367px) {
.page_section {
  margin-top: 0;
  padding-bottom: 185px;
}
}



/* top ------------- */
.message {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: flex-start;
  margin-top: 30px;
}
@media screen and (min-width: 1367px) {
.message { gap: 50px; }
}

.message figure {
  display: block;
  margin: 0;
  width: 30%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.message figure { width: 20%; }
}
@media screen and (min-width: 1367px) {
.message figure { width: 190px; }
}

.message figure img {
  display: block;
  height: auto;
  width: 100%;
}

.message div { width: 64%; }
@media screen and (min-width: 768px) and (max-width: 1366px) {
.message div { width: 77%; }
}

.message_text {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
.message_text { font-size: 23px; }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
.message_text { font-size: 30px; }
} 
@media screen and (min-width: 1367px) {
.message_text { font-size: 32px; }
}

.company-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 1em;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
.company-title { font-size: 23px; }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
.company-title { font-size: 30px; }
}
@media screen and (min-width: 1367px) {
.company-title {
  font-size: 32px;
  margin-top: 30px;
}
}

.company-title span {
  display: block;
  font-size: .5em;
}
@media screen and (min-width: 768px) {
.company-title span { font-size: .6em; }
}

.company-menu_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin: 100px auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.company-menu_wrap { justify-content: space-between; }
}
@media screen and (min-width: 1367px) {
.company-menu_wrap {
  justify-content: space-between;
  width: 1000px;
}
}

.message_body { margin-top: 2em; }
.message_body p:nth-child(n+2) { padding-top: 2em; }

.company-menu {
  background-color: var(--skyblue-light);
  border-radius: 30px;
  padding: 30px;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
.company-menu { padding-bottom: 130px; }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.company-menu { width: 47%; }
}
@media screen and (min-width: 1367px) {
.company-menu { width: 475px; }
}

.company-menu h3 {
  color: var(--navy);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 1367px) {
.company-menu h3 { font-size: 24px; }
}

.company-menu figure {
  display: block;
  margin: 20px auto 0;
  width: 159px;
}

.company-menu figure img {
  display: block;
  height: auto;
  width: 100%;
}

.company-menu p {
  font-size: 15px;
  line-height: 1.6;
  margin: 1em auto 0; 
}
@media screen and (min-width: 1367px) {
.company-menu p { width: 320px; }
}

.company-menu ul {
  display: block;
  list-style-type: none;
  margin: 20px auto 0;
  padding: 0;
}
@media screen and (min-width: 1367px) {
.company-menu ul { width: 320px; }
}

.company-menu li {
  display: block;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  text-align: right;
}

.company-menu li:nth-child(n+2) { margin-top: .5em; }

.company-menu li a {
  color: var(--navy);
  display: inline-block;
  padding-right: 2em;
  position: relative;
  text-decoration: none;
}
@media screen and (min-width: 1367px) {
.company-menu li a { transition: .3s; }
.company-menu li a:hover,
.company-menu li a:visited,
.company-menu li a:active {
  color: var(--navy);
  text-decoration: none;
}
}

.company-menu li a:after {
  background-image: url(/assets/images/common/icon_arrow_circle.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 20px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
}
@media screen and (min-width: 1367px) {
.company-menu li a:hover:after { background-image: url(/assets/images/common/icon_arrow_circle_hover.png); }
}

.company-menu .common-button { margin: 20px auto 0; }
@media screen and (min-width: 768px) {
.company-menu .common-button {
  bottom: 30px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.company-menu .common-button { width: 95%; }
}
@media screen and (min-width: 1367px) {
.company-menu .common-button { width: 320px; }
}



/* overview ------------- */
@media screen and (min-width: 1367px) {
.page_section.page_overview { padding-bottom: 100px; }
}

.page_section.page_overview > figure {
  margin: 30px 0 0;
  width: 100%;
}

.page_section.page_overview > figure img {
  display: block;
  height: auto;
  width: 100%;
}

.company-overview {
  display: block;
  margin: 50px 0 0;
  padding: 0;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.company-overview { margin-top: 80px; }
}

.company-overview_list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 30px;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.company-overview_list {
  justify-content: space-between;
  padding: 0;
}
}

@media screen and (min-width: 1367px) {
.company-overview_list:nth-child(n+2) { margin-top: 50px; }
}

.company-overview dt {
  background-color: var(--skyblue-light);
  border-radius: 10px;
  color: var(--navy);
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 2.4;
  padding-left: 10px;
  width: 100%;
}
@media screen and (min-width: 768px) {
.company-overview dt {
  background-color: transparent;
  line-height: 1.4;
  padding-left: 0;
  width: 15%;
}
}

.company-overview dd {
  display: block;
  font-size: 15px;
  line-height: 1.4;
  margin-top: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
.company-overview dd {
  margin: 0;
  padding: 0;
  width: 85%;
}
}

dd.address-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
@media screen and (min-width: 1367px) {
dd.address-wrap { justify-content: flex-start; }
}

dd.address-wrap div { width: 100%; }
@media screen and (min-width: 1367px) {
dd.address-wrap div { width: 40%; }
}

.company-overview dd a {
  color: var(--navy);
  display: inline-block;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 1em;
  padding-right: 20px;
  position: relative;
  text-decoration: none;
}
@media screen and (min-width: 1367px) {
  .company-overview dd a { transition: .3s; }
  .company-overview dd a:hover,
  .company-overview dd a:visited,
  .company-overview dd a:active {
    color: var(--navy);
    text-decoration: none;
  }
}

.company-overview dd a:after {
  background-image: url(/assets/images/common/icon_arrow_circle.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 20px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
}
@media screen and (min-width: 1367px) {
.company-overview dd a:after { transition: .3s; }
.company-overview dd a:hover:after { background-image: url(/assets/images/common/icon_arrow_circle_hover.png); }
}

.access-map_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
@media screen and (min-width: 1367px) {
.access-map_wrap {
  gap: 0 2em;
  justify-content: flex-start;
}
}

.access-map_wrap:nth-child(n+2) { margin-top: 30px; }
@media screen and (min-width: 1367px) {
.access-map_wrap:nth-child(n+2) { margin-top: 50px; }
}

.access-map_title {
  font-weight: 600;
  padding: 0;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.access-map_title { padding-bottom: 1em; }
}

.access-map_wrap iframe {
  height: 50%;
  width: 100%;
}
@media screen and (min-width: 768px) {
.access-map_wrap iframe {
  height: 328px;
  width: 60%;
}
}

.access-map_text { width: 100%; }
@media screen and (min-width: 768px) {
.access-map_text { width: 34%; }
}

.client-list p br { display: none; }

.client-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-top: 30px;
}

.client-list ul li { width: 21%; }
@media screen and (min-width: 1367px) {
.client-list ul li { width: 17.6%; }
}

.client-list ul li img {
  display: block;
  height: auto;
  width: 100%;
}

.group-company {
  background-color: var(--skyblue-light);
  margin-bottom: 100px;
  padding: 50px 20px;
}
@media screen and (min-width: 1367px) {
.group-company {
  margin-bottom: 300px;
  padding-bottom: 100px;
}
}

.group-company h3 {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 auto;
  padding-bottom: 1em;
}

@media screen and (min-width: 1367px) {
.group-company h3 {
  line-height: 2.4;
  width: 1000px;
}
}

.group-company_frame {
  background-color: #fff;
  border-radius: 20px;
  margin: 0 auto;
  padding: 30px 20px;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.group-company_frame { width: 1000px; }
}

.group-company_frame:nth-of-type(n+2) { margin-top: 30px; }
@media screen and (min-width: 1367px) {
.group-company_frame:nth-of-type(n+2) {
  margin-top: 20px;
  padding: 50px 20px;
}
}

.group-comany_information {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.group-comany_information {
  gap: 2em;
  justify-content: center;
}
}

.group-map img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.group-map img {
  margin: 0 auto;
  width: 770px;
}
}

.group-comany_information div { width: 100%; }
@media screen and (min-width: 768px) {
.group-comany_information div { width: 47%; }
}

.group-comany_information div > p {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
.group-comany_information div > p { text-align: left; }
}

.group-comany_information div p a {
  display: inline-block;
  text-decoration: none;
}
@media screen and (min-width: 1367px) {
.group-comany_information div p a { display: inline-block; }
}

.group-comany_information div p a img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (min-width: 1367px) {
.group-comany_information div p a img { transition: .3s; }
.group-comany_information div p a:hover img { opacity: .7; }
}

.group-comany_information div p:nth-of-type(n+2) { margin-top: 1.5em; }

.group-comany_information dl {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin: 0;
  padding: 0;
  width: 100%; 
}
@media screen and (min-width: 768px) {
.group-comany_information dl {
  justify-content: space-between;
  width: 45%;
}
}

.group-comany_information dt {
  background-color: var(--skyblue-light);
  border-radius: 2em;
  color: var(--navy);
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.46;
  text-align: center;
  width: 78px;
}
@media screen and (min-width: 768px) {
.group-comany_information dt {
  font-size: 15px;
  line-height: 2;
  width: 100px;
}
}

.group-comany_information dd {
  display: block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.46;
  width: 60%;
}
@media screen and (min-width: 768px) {
.group-comany_information dd {
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
}
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.group-comany_information dd { width: 62%; }
}
@media screen and (min-width: 1367px) {
.group-comany_information dd { width: 73%; }
}



/* history contents ------------- */
.company-history_contents {
  border-collapse: collapse;
  border-top: 1px solid #e0e0e0;
  line-height: 1.5;
  margin: 0 auto;
  padding: 20px 0;
  text-align: left;
  width: 100%;
}

.company-history_contents:last-child { border-bottom: 1px solid #e0e0e0; }

.company-history_contents tr { border-bottom: 1px dotted #ddd; }
.company-history_contents tr:last-child { border-bottom: none; }

.company-history_contents th {
  font-size: 14px;
  font-weight: bold;
  padding: 15px 1%;
  vertical-align: top;
  width: 25%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.company-history_contents th { width: 15%; }
}
@media screen and (min-width: 1367px) {
.company-history_contents th {
  font-size: 15px;
  padding: 10px;
  width: 100px;
}
}

.company-history_contents td {
  font-size: 14px;
  padding: 15px 20px 15px 10px;
  text-align: right;
  vertical-align: top;
  width: 20%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.company-history_contents td { width: 100px; }
}
@media screen and (min-width: 1367px) {
.company-history_contents td {
  font-size: 15px;
  padding: 10px 40px 10px 10px;
  width: 100px;
}
}

.company-history_contents td:last-child {
  text-align: left;
  width: 55%;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
.company-history_contents td:last-child { width: 75%; }
}
@media screen and (min-width: 1367px) {
.company-history_contents td:last-child { width: 730px; }
}



/* privacy policy ------------- */
.privacy_content {
	text-align: left;
	width: 100%;
	line-height: 1.9;
}

.privacy_content h2 {
	border: none;
	color: #000;
	text-align: left;
	font-size: 116%;
  font-weight: 500;
	margin-bottom: 0;
	padding-bottom: 10px;
}

.privacy_content p {
	padding-bottom: 1.0em;
}

.diversion-content .pc-only { display: none; }
.diversion-content .sp-only { display: block; }
@media screen and (min-width: 1367px) {
.diversion-content .pc-only { display: inline-block; }
.diversion-content .sp-only { display: none; }
}

.colon-number-list-wrap {
  list-style-type: none;
  padding: 0 0 1em 1em;
}
.colon-number-list {
  padding: 0 0 0 2em;
  position: relative;
}
.colon-number-list:before {
  left: 0;
  position: absolute;
  top: 0;
}
.colon-number-list-wrap .colon-number-list:nth-child(1):before { content: '１：'; }
.colon-number-list-wrap .colon-number-list:nth-child(2):before { content: '２：'; }
.colon-number-list-wrap .colon-number-list:nth-child(3):before { content: '３：'; }
.colon-number-list-wrap .colon-number-list:nth-child(4):before { content: '４：'; }
.colon-number-list-wrap .colon-number-list:nth-child(5):before { content: '５：'; }

.number-heading {
  font-weight: 500;
  padding: 0 0 0 2.5em;
  position: relative;
}
.number-heading:before {
  left: 0;
  position: absolute;
  top: 0;
}
.number-heading.num01:before { content: '１．'; }
.number-heading.num02:before { content: '２．'; }
.number-heading.num03:before { content: '３．'; }
.number-heading.num04:before { content: '４．'; }
.number-heading.num05:before { content: '５．'; }
.number-heading.num06:before { content: '６．'; }
.number-heading.num07:before { content: '７．'; }
.number-heading.num08:before { content: '８．'; }
.number-heading.num09:before { content: '９．'; }
.number-heading.num10:before { content: '１０．'; }

.brackets-number-list-wrap { padding: 0 0 1em 2.5em; }

.brackets-number-list {
  padding: 0 0 0 1.5em;
  position: relative;
}
.brackets-number-list:before {
  left: 0;
  position: absolute;
  top: 0;
}
.brackets-number-list-wrap .brackets-number-list:nth-child(1):before { content: '(1)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(2):before { content: '(2)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(3):before { content: '(3)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(4):before { content: '(4)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(5):before { content: '(5)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(6):before { content: '(6)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(7):before { content: '(7)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(8):before { content: '(8)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(9):before { content: '(9)'; }
.brackets-number-list-wrap .brackets-number-list:nth-child(10):before { content: '(10)'; }

.circle-number-bullet {
  padding: 0 0 0 1em!important;
  position: relative;
}
.circle-number-bullet:before {
  left: 0;
  position: absolute;
  top: 0;
}
.circle-number-bullet.num01:before { content: '①'; }
.circle-number-bullet.num02:before { content: '②'; }
.circle-number-bullet.num03:before { content: '③'; }
.circle-number-bullet.num04:before { content: '④'; }
.circle-number-bullet.num05:before { content: '⑤'; }
.circle-number-bullet.num06:before { content: '⑥'; }
.circle-number-bullet.num07:before { content: '⑦'; }
.circle-number-bullet.num08:before { content: '⑧'; }
.circle-number-bullet.num09:before { content: '⑨'; }

.indent-dl {
  display: block;
  padding: 0 0 1em;
  position: relative;
}
.indent-dl.purpose-of-use { padding-left: 5em; }
.indent-dt {
  display: block;
  left: 0;
  line-height: 1.5!important;
  margin: 0;
  padding: .5em 0 0;
  position: absolute;
  top: 0;
}
.indent-dd {
  line-height: 1.5!important;
  padding: .5em 0 0;
}

.brackets-number-list > .indent-sentence {
  display: block;
  line-height: 1.5!important;
  padding: .5em 0 1em;
}

.midpoint-list-wrap {
  display: block;
  list-style-type: none;
  padding: 0 0 1em;
}
.midpoint-list {
  padding: 0 0 0 1em;
  position: relative;
}
.midpoint-list:before {
  content: '・';
  left: 0;
  position: absolute;
  top: 0;
}

.supplement-text {
  display: block;
  padding: 0 0 0 1em;
  position: relative;
}
.supplement-text:before {
  content: '※';
  left: 0;
  position: absolute;
  top: 0;
}



/* customer harassment policy ------------- */
.company-policy_heading {
  background: none;
  font-size: 27px;
  font-weight: normal;
  line-height: 1.6em;
  margin: 0;
  padding: 40px 0 40px 0;
  text-align: center;
}

.company-policy {
  text-align: left;
  width: 100%;
  line-height: 1.9;
}
.company-policy h3 {
	border: none;
	color: #314349;
	text-align: left;
	font-size: 1.2em;
	margin: 1.5em 0 0;
	padding: 0 0 .5em 1.5em;
  position: relative;
}
.company-policy h3:nth-of-type(1) { margin-top: 0; }
.company-policy h3:before {
  left: 0;
  position: absolute;
  top: 0;
}
.company-policy h3:nth-of-type(1):before { content: '１.'; }
.company-policy h3:nth-of-type(2):before { content: '２.'; }
.company-policy h3:nth-of-type(3):before { content: '３.'; }
.company-policy h3:nth-of-type(4):before { content: '４.'; }
.company-policy h3:nth-of-type(5):before { content: '５.'; }
.company-policy h3:nth-of-type(6):before { content: '６.'; }
.company-policy h3:nth-of-type(7):before { content: '７.'; }
.company-policy h3:nth-of-type(8):before { content: '８.'; }
.company-policy h3:nth-of-type(9):before { content: '９.'; }
.company-policy h3:nth-of-type(10):before { content: '10.'; }

.company-policy p { padding-bottom: 1em; }

.company-policy ul,
.company-policy ol {
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.company-policy ol.circle-number li {
  padding-left: 1.2em;
  position: relative;
}
.company-policy ol.circle-number li:before {
  left: 0;
  position: absolute;
  top: 0;
}
.company-policy ol.circle-number li:nth-child(1):before { content: '①'; }
.company-policy ol.circle-number li:nth-child(2):before { content: '②'; }
.company-policy ol.circle-number li:nth-child(3):before { content: '③'; }
.company-policy ol.circle-number li:nth-child(4):before { content: '④'; }
.company-policy ol.circle-number li:nth-child(5):before { content: '⑤'; }
.company-policy ol.circle-number li:nth-child(6):before { content: '⑥'; }
.company-policy ol.circle-number li:nth-child(7):before { content: '⑦'; }
.company-policy ol.circle-number li:nth-child(8):before { content: '⑧'; }
.company-policy ol.circle-number li:nth-child(9):before { content: '⑨'; }
.company-policy ol.circle-number li:nth-child(10):before { content: '⑩'; }

.company-policy ul.katakana li {
  padding-left: 1.2em;
  position: relative;
}
.company-policy ul.katakana li:before {
  left: 0;
  position: absolute;
  top: 0;
}
.company-policy ul.katakana li:nth-child(1):before { content: 'ア'; }
.company-policy ul.katakana li:nth-child(2):before { content: 'イ'; }
.company-policy ul.katakana li:nth-child(3):before { content: 'ウ'; }
.company-policy ul.katakana li:nth-child(4):before { content: 'エ'; }
.company-policy ul.katakana li:nth-child(5):before { content: 'オ'; }
.company-policy ul.katakana li:nth-child(6):before { content: 'カ'; }
.company-policy ul.katakana li:nth-child(7):before { content: 'キ'; }
.company-policy ul.katakana li:nth-child(8):before { content: 'ク'; }
.company-policy ul.katakana li:nth-child(9):before { content: 'ケ'; }
.company-policy ul.katakana li:nth-child(10):before { content: 'コ'; }

.company-policy h4 {
  margin-top: .5em;
	padding: 0 0 0 2.8em;
  position: relative;
  text-indent: -.5em;
}
.company-policy h4:nth-of-type(1) { margin-top: 0; }
.company-policy h4:after {
  left: 0;
  position: absolute;
  top: 0;
}
.company-policy h4:nth-of-type(1):after { content: '（１）'; }
.company-policy h4:nth-of-type(2):after { content: '（２）'; }
.company-policy h4:nth-of-type(3):after { content: '（３）'; }
.company-policy h4:nth-of-type(4):after { content: '（４）'; }
.company-policy h4:nth-of-type(5):after { content: '（５）'; }
.company-policy h4:nth-of-type(6):after { content: '（６）'; }
.company-policy h4:nth-of-type(7):after { content: '（７）'; }
.company-policy h4:nth-of-type(8):after { content: '（８）'; }
.company-policy h4:nth-of-type(9):after { content: '（９）'; }
.company-policy h4:nth-of-type(10):after { content: '（10）'; }

.update-date { text-align: right; }