@charset "utf-8";

/* main section */
#main .main_contents_wrap {
  margin: 50px 0 60px;
}
#main .main_contents_wrap p {
  margin-top: 0;
}
#main .main_contents_wrap .main_section {
  margin: 60px auto;
  max-width: 970px;
  color: #222;
  letter-spacing: 1px;
  font-size: 16px;
}
#main .main_contents_wrap .main_section p {
  line-height: 1.8;
}
#main .main_contents_wrap .main_section p + p {
  margin-top: 15px;
}

/* sub section */
#main .main_contents_wrap .sub_section {
  margin: 40px 0;
  padding: 0 15px;
}

/* header_01 */
#main .main_contents_wrap .header_01 {
  position: relative;
  overflow: hidden;
  margin: 50px 0 34px;
  padding: 22px 65px;
  background: #45579c;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  line-height: 1.5;
}
#main .main_contents_wrap .header_01::before,
#main .main_contents_wrap .header_01::after {
  position: absolute;
  top: 50%;
  display: block;
  width: 48px;
  height: 134px;
  border-style: solid;
  content: "";
  transform: translateY(-50%);
}
#main .main_contents_wrap .header_01::before {
  left: 0;
  border-width: 67px 0 67px 48px;
  border-color: transparent transparent transparent rgba(255,255,255,0.5);
}
#main .main_contents_wrap .header_01::after {
  right: 0;
  border-width: 67px 48px 67px 0;
  border-color: transparent rgba(255,255,255,0.5) transparent transparent;
}
#main .main_contents_wrap .header_01 .sub_ttl {
  display: block;
  margin-top: 10px;
  font-weight: bold;
  font-size: 23px;
}

/* header_02 */
#main .main_contents_wrap .header_02 {
  position: relative;
  overflow: hidden;
  margin: 50px 0 25px;
  padding: 18px 65px;
  background: #45579c;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  line-height: 1.5;
}
#main .main_contents_wrap .header_02.type02 {
  background: #444;
}
#main .main_contents_wrap .header_02::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 48px;
  height: 81px;
  border-width: 40.5px 0 40.5px 48px;
  border-style: solid;
  border-color: transparent transparent transparent rgba(255,255,255,0.5);
  content: "";
  transform: translateY(-50%);
}

/* header_03 */
#main .main_contents_wrap .header_03 {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #45579c;
}
#main .main_contents_wrap .header_03 .icon span {
  display: block;
  margin-right: 24px;
  padding: 5px 15px;
  background: #45579c;
  color: #fff;
  font-size: 18px;
}
#main .main_contents_wrap .header_03 .txt {
  color: #45579c;
  font-weight: bold;
  font-size: 18px;
}
#main .main_contents_wrap .header_03.type02 {
  border-bottom: 1px solid #444;
}
#main .main_contents_wrap .header_03.type02 .icon span {
  background: #444;
}
#main .main_contents_wrap .header_03.type02 .txt {
  color: #444;
}
#main .main_contents_wrap .header_03.type03 {
  border-bottom: double 4px #45579c;
}
#main .main_contents_wrap .header_03.type03 .txt {
  font-size: 22px;
}

/* nav_section */
#main .main_contents_wrap .nav_section {
  margin: 40px 0;
  padding: 14px 14px 20px;
  border: 1px solid #707070;
}
#main .main_contents_wrap .nav_section .nav_title {
  text-align: center;
  font-size: 18px;
}
#main .main_contents_wrap .nav_section .nav_title span {
  position: relative;
  padding-left: 20px;
  font-weight: bold;
}
#main .main_contents_wrap .nav_section .nav_title span::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 17px;
  height: 15px;
  border-width: 15px 8.5px 0 8.5px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
  content: "";
  transform: translateY(-50%);
}
#main .main_contents_wrap .nav_section .nav_list {
  margin-top: 14px;
}
#main .main_contents_wrap .nav_section .nav_list > li:not(:first-child) {
  margin-top: 15px;
}
#main .main_contents_wrap .nav_section .nav_list .nav_list_title {
  display: block;
  padding: 0 15px;
  font-size: 16px;
}
#main .main_contents_wrap .nav_section .nav_list .nav_list_title a {
  color: #45579c;
  font-weight: bold;
}
#main .main_contents_wrap .nav_section .nav_list .anchor_list_01 {
  padding: 7px 15px 0;
}
#main .main_contents_wrap .nav_section .nav_list .anchor_list_01 a {
  color: #222;
  text-decoration: underline;
}
#main .main_contents_wrap .nav_section .nav_list .anchor_list_01 li:not(:first-child) {
  margin-top: 6px;
}

/* summary_box */
#main .main_contents_wrap .summary_box {
  margin: 50px 0 30px;
  padding: 3px;
  border: 2px solid #459c93;
}
#main .main_contents_wrap .summary_box .summary_box_inner {
  padding: 30px 40px 40px;
  border: 1px solid #459c93;
  background: #f6faf9;
}
#main .main_contents_wrap .summary_box .summary_box_inner .summary_header {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 2px solid #459c93;
  color: #459c93;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  line-height: 1;
}

/* modules */
#main .main_contents_wrap .lead {
  margin: 34px 0;
}

#main .main_contents_wrap .disc_list {
  margin: 15px 0;
  padding-left: 1.5em;
  list-style: disc outside;
}
#main .main_contents_wrap .disc_list li:not(:first-child) {
  margin-top: 10px;
}
#main .main_contents_wrap .disc_list_02 {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0 0 0 25px;
  list-style: disc outside;
}
#main .main_contents_wrap .disc_list_02 li {
  margin-bottom: 10px;
  padding-right: 40px;
}

#main .main_contents_wrap .defines_list {
  margin: 15px 0;
}
#main .main_contents_wrap .defines_list .term {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
}
#main .main_contents_wrap .defines_list .desc {
  line-height: 1.8;
}
#main .main_contents_wrap .defines_list dd + dd {
  margin-top: 15px;
}
#main .main_contents_wrap .defines_list.style_01 {
  margin: 30px 0;
}
#main .main_contents_wrap .defines_list.style_02 {
  margin: 30px 0;
}
#main .main_contents_wrap .defines_list.style_02 .term {
  margin-bottom: 15px;
  font-size: 16px;
}
#main .main_contents_wrap .defines_list.style_02 .flex_column.style_02 {
  margin: 0 -35px 30px;
}
#main .main_contents_wrap .defines_list.style_02 .flex_column.style_02 .col {
  margin: 0 35px;
}
#main .main_contents_wrap .defines_list.style_02 .flex_column.style_02 .col .col_ttl {
  font-weight: normal;
}

#main .main_contents_wrap .images {
  margin: 30px auto;
  text-align: center;
  font-size: 0;
}
#main .main_contents_wrap img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

#main .main_contents_wrap .prt_table {
  margin: 30px 0;
  width: 100%;
  border: 1px solid #45579c;
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: center;
}
#main .main_contents_wrap .prt_table.style_01 {
  table-layout: auto;
}
#main .main_contents_wrap .prt_table th,
#main .main_contents_wrap .prt_table td {
  padding: 10px;
  border: 1px solid #45579c;
}
#main .main_contents_wrap .prt_table .table_title {
  background: #45579c;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
}
#main .main_contents_wrap .prt_table thead th {
  border: none;
}
#main .main_contents_wrap .prt_table thead th + th {
  border-left: 1px solid #fff;
}
#main .main_contents_wrap .prt_table .sub {
  background: #f0f2f7;
  font-weight: bold;
}

#main .main_contents_wrap .page_top_txt {
  text-align: right;
}
#main .main_contents_wrap .page_top_txt a {
  position: relative;
  padding-left: 20px;
  color: #222;
}
#main .main_contents_wrap .page_top_txt a::before {
  position: absolute;
  top: 15px;
  left: 0;
  display: block;
  width: 10px;
  height: 10px;
  border-right: 3px solid #222;
  border-bottom: 3px solid #222;
  content: "";
  font-size: 0;
  transform: translate(0, -50%) rotate(-135deg);
}

#main .main_contents_wrap .prt_float_contents {
  overflow: hidden;
  margin: 30px 0;
}
#main .main_contents_wrap .prt_float_contents .col:first-child {
  float: left;
  margin: 0 40px 20px 0;
}
#main .main_contents_wrap .prt_float_contents.right .col:first-child {
  float: right;
  margin: 0 0 20px 40px;
}
#main .main_contents_wrap .prt_float_contents .img_style_01 {
  width: 340px;
}

#main .main_contents_wrap .flex_column {
  display: flex;
  flex-wrap: wrap;
  margin: 30px -15px;
}
#main .main_contents_wrap .flex_column.style_bottom {
  align-items: flex-end;
}
#main .main_contents_wrap .flex_column .col {
  margin: 0 15px;
}
#main .main_contents_wrap .flex_column .col > * {
  margin: 0;
}
#main .main_contents_wrap .flex_column.style_02 {
  justify-content: center;
}
#main .main_contents_wrap .flex_column.style_03 {
  justify-content: space-between;
}
#main .main_contents_wrap .flex_column.style_04 {
  justify-content: space-around;
}
#main .main_contents_wrap .flex_column .col .col_ttl {
  margin-bottom: 15px;
  font-weight: bold;
}
#main .main_contents_wrap .flex_column .col .col_ttl.red {
  color: #e94628;
}
#main .main_contents_wrap .flex_column .col .col_notes {
  margin-top: 10px;
}

#main .main_contents_wrap .arrow_cont_wrap {
  margin: 30px 0;
}
#main .main_contents_wrap .arrow_cont_wrap .arrow_cont {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
#main .main_contents_wrap .arrow_cont_wrap.center .arrow_ttl {
  text-align: center;
}
#main .main_contents_wrap .arrow_cont_wrap.center .arrow_cont {
  justify-content: center;
}
#main .main_contents_wrap .arrow_cont_wrap .arrow_cont .icon {
  position: relative;
  margin: 0 30px;
}
#main .main_contents_wrap .arrow_cont_wrap .arrow_cont .icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  border-width: 25px 0 25px 25px;
  border-style: solid;
  border-color: transparent transparent transparent #333;
  content: "";
  transform: translate(-50%, -50%);
}
#main .main_contents_wrap .arrow_cont_wrap .arrow_ttl {
  margin-bottom: 10px;
  font-weight: bold;
}
#main .main_contents_wrap .arrow_cont_wrap .arrow_txt {
  margin-top: 10px;
}

#main .main_contents_wrap .caret_wrap {
  margin: 50px 0 30px;
}
#main .main_contents_wrap .prt_caret_01 {
  width: 0;
  height: 0;
  border-width: 40px 95px 0 95px;
  border-style: solid;
  border-color: #e94628 transparent transparent transparent;
}
#main .main_contents_wrap .prt_caret_01.center {
  margin: 0 auto;
}

#main .main_contents_wrap .summary_box_02 {
  padding: 25px;
  border: 2px solid #e94628;
  background: #fff8f6;
  text-align: center;
  font-size: 18px;
}

#main .main_contents_wrap .txt_subscript {
  vertical-align: sub;
  font-size: smaller;
}
#main .main_contents_wrap .txt_subscript.bl {
  font-weight: bold;
}

#main .main_contents_wrap .cv_btn_wrap {
  margin: 40px 0;
  text-align: right;
}
