@charset "UTF-8";

:root {
  --sectionPaddingHorizontal: 116px;
  --sectionPaddingVertical: 64px;
}

/*==== COMMON =====================*/

body {
  background-color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
}
.heading01,
.heading02,
.heading03,
.heading04,
.heading05 {
  line-height: 1.4;
}
.heading01 {
  display: flex;
  gap: 16px;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  color: #00467E;
  font-size: 4rem;
  font-weight: 500;
}
.heading01::after {
  content: '';
  display: block;
  height: 2px;
  background-color: #00467E;
  flex-grow: 2;
}
.heading01 + * {
  margin-top: 72px;
}
.heading02 {
  padding: 16px;
  color: #fff;
  background-color: #00467E;
  font-size: 3.2rem;
  font-weight: 500;
}
.heading02 + * {
  margin-top: 40px;
}
.heading03 {
  padding-bottom: 16px;
  color: #001526;
  font-size: 3.2rem;
  font-weight: 500;
  position: relative;
}
.heading03::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #00467E;
  background-image: linear-gradient(90deg, #00467E 64px, #E0E9EF 64px, #E0E9EF 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.heading03 + * {
  margin-top: 32px;
}
.heading04 {
  padding: 16px;
  background-color: #E0E9F0;
  font-size: 2.4rem;
  font-weight: 500;
}
.heading04 + * {
  margin-top: 24px;
}
.heading05 {
  padding-left: 40px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  position: relative;
}
.heading05::before {
  content: '';
  display: block;
  width: 22px;
  height: 2px;
  background-color: #00467E;
  position: absolute;
  top: 13px;
  left: 0;
}
.heading05 + * {
  margin-top: 24px;
}

.main p {
  line-height: 1.8;
}
.main strong,
.main .strong,
.main .lead {
  color: #00467E;
  font-weight: 500;
}
.main section a {
  color: #00467E;
  text-decoration: underline;
}

.pic-single {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
}
.pic-single img {
  width: 100%;
}

.section__block {
  margin-top: 40px;
}

.pic-single + p,
.pic-single + ul,
.pic-single + .tablewrapper,
.pic-single + .box__grid,
.box__grid + p,
.box__grid + ul,
.box__grid + .tablewrapper,
.box__grid + .box_single,
.tablewrapper + p,
.tablewrapper + ul,
.tablewrapper + .tablewrapper,
.tablewrapper + .pic-single {
  margin-top: 32px;
}


/*==== KV =====================*/
.kv-area {
  height: 264px;
  background-color: #001C32;
  position: relative;
}
.kv-area__inner {
  max-width: var(--globalContentWidth);
  height: 100%;
  margin: 0 auto;
  padding: 0 56px;
  position: relative;
}
.kv-area__inner::before {
  content: '';
  display: block;
  width: 50%;
  height: 100%;
  background-color: #231815;
  position: absolute;
  top: 0;
  right: 0;
}
.kv-area__inner::after {
  content: '';
  display: block;
  width: 95.52238805970%;
  height: 100%;
  background-image: url(/assets/img/page/kv1.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  right: 56px;
  top: 0;
}
.kv-text {
  position: absolute;
  top: 50%;
  left: var(--sectionPaddingHorizontal);
  transform: translate(0, -32%);
  z-index: 1;
}
.page-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  line-height: 1.2;
  gap: 16px;
}
.page-title .main-text {
  font-family: "Prata", serif;
  font-optical-sizing: auto;
  font-size: 6.4rem;
  font-weight: 400;
  position: relative;
}
.page-title .main-text::before {
  content: '';
  display: block;
  width: 83px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translate(-32px, -50%);
}
.page-title .sub-text {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  line-height: 1.2;
}


/*====BREADCRUMB=====================*/

.breadcrumb {
  background-color: #231815;
}
.breadcrumb__inner {
  max-width: var(--globalContentWidth);
  margin: 0 auto;
  padding: var(--globalContentPadding);
  padding-top: 16px;
  padding-bottom: 16px;
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 0 48px;
}
.breadcrumb__item:not(:first-of-type) {
  position: relative;  
}
.breadcrumb__item:not(:first-of-type)::before {
  content: '';
  display: block;
  height: 2px;
  width: 16px;
  background-color: #99B5CB;
  position: absolute;
  top: 50%;
  left: -24px;
  transform: translate(-50%, -50%);
}
.breadcrumb__item span,
.breadcrumb__item a {
  color: #fff;
  font-size: 1.4rem;
}
.breadcrumb__item a:hover {
  opacity: 1;
  text-decoration: underline;
}


/*==== CONTENT =====================*/
section + section {
  margin-top: var(--sectionPaddingVertical);
}
.section__inner {
  max-width: var(--globalContentWidth);
  margin: 0 auto;
  padding: 0 var(--sectionPaddingVertical);
}
.m-content-inner section:first-of-type .section__inner {
  padding-top: var(--sectionPaddingVertical);
}
.m-content-inner section:last-of-type .section__inner {
  padding-bottom: var(--sectionPaddingVertical);
}
.heading02 + .content-block {
  margin-top: 48px;
}
.content-block > * + * {
  margin-top: 32px;
}

/*----- list -----*/

p + ol,
p + ul,
ol + p,
ul + p {
  margin-top: 32px;
}

.list-disc > li + li,
.list-mark > li + li {
  margin-top: 1em;
}
.list-disc > li li + li,
.list-mark > li li + li {
  margin-top: 0.5em;
}

.list-disc {
  padding-left: 24px;
}
.list-disc > li {
  position: relative;
}
.list-disc > li::before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 2px;
  border-radius: 5px;
  background-color: #E00312;
  position: absolute;
  top: 1em;
  left: -8px;
  transform: translate(-100%, -50%);
}

.list-mark {
  padding-left: 2em;

}
.list-mark > li {
  position: relative;
}
.list-mark > li::before {
  content: attr(data-mark);
  font-size: 1em;
  position: absolute;
  top: 0.85em;
  left: -8px;
  transform: translate(-100%, -50%);
}

/* .list-circled-number {
  counter-reset: circled-counter;
  margin-left: 0.5em;
}
.list-circled-number > li {
  padding-left: 1.5em;
  position: relative;
}
.list-circled-number > li::before {
  content: counter(circled-counter);
  counter-increment: circled-counter;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.1em;
  height: 1.125em;
  border-radius: 50%;
  border: 1px solid #444;
  color: #444;
  font-size: 1.05em;
  text-align: center;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0.55em;
}
.list-circled-number > li::after {
  content: '';
  display: block;
  clear: both;
} */

/*----- table -----*/
table {
  width: 100%;
}
th,
td {
  padding: 1em;
  font-size: 1.6rem;
  text-align: left;
}
th {
  
}
td {

}
.table-multi thead th {
  text-align: center;
}
.table-multi th + th,
.table-multi td + td,
.table-multi th + td {
  border-left: 1px solid #fff;
}
.table-single tr + tr {
  border-top: 1px solid #B4C0C5;
}
.table-single th {
  width: 256px;
  background-color: #ECF2F5;
  color: #00467E;
  font-weight: 500;
}



/*----- page-message -----*/
.page-message .c-message {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
}

/*----- page-overview -----*/
.page-overview .table-overview th {
  text-align: center;
}

/*----- page-policy -----*/
.page-policy .list-policy {
  display: grid;
  grid-template-columns: 100%;
  gap: 48px;
}
.page-policy .list-policy__item {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
}

/*----- page-privacy-policy -----*/
.page-privacy-policy li ul {
  margin-top: 0.5em;
}