/*
$4ewsColor: 
    /*col01: #238561,
  col02: #67a2b7,
  col03: #d2843e,
  col04: #cf775b,
  col05: #cf9942,
  col06: #926c28,
  col07: #cc7175,
  col08: #608ea1,
  col09: #5b609a,
  col10: #487390,
  col11: #4e9386,
  col12: #79a153,
  col13: #817499
);
*/
@media screen and (min-width: 769px) {
  main {
    padding-bottom: 7rem;
  }
}
@media screen and (max-width: 768px) {
  main {
    padding-bottom: 8rem;
  }
}

section .inner {
  position: relative;
}
@media screen and (min-width: 769px) {
  section .inner {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  section .inner {
    max-width: 67rem;
    margin: 0 auto;
    padding-top: 8rem;
  }
}

@media screen and (min-width: 769px) {
  .general_indent_list.mgn {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .general_indent_list.mgn {
    padding-top: 2rem;
  }
}

#policy_head_nav {
  position: relative;
  border-bottom: 1px solid #cfcfcf;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  #policy_head_nav {
    gap: 2rem 4rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #policy_head_nav {
    gap: 2rem;
    padding-bottom: 8rem;
  }
}

#policy_head_nav a {
  position: relative;
  transition: ease-out 0.6s all;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #policy_head_nav a {
    display: inline-block;
    padding-left: 2rem;
    line-height: 1.5em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    min-height: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #policy_head_nav a {
    display: block;
    padding-left: 4rem;
    line-height: 1.5em;
    font-size: 3.2rem;
    letter-spacing: 0.05em;
    min-height: 4.2rem;
  }
}

#policy_head_nav a .arrow {
  position: absolute;
  left: 0;
  display: block;
}
@media screen and (min-width: 769px) {
  #policy_head_nav a .arrow {
    top: 0.7rem;
    width: 1rem;
    height: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  #policy_head_nav a .arrow {
    top: 1.3rem;
    width: 2rem;
    height: 3rem;
  }
}

#policy_head_nav a .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: ease-out 0.2s all;
}
@media screen and (min-width: 769px) {
  #policy_head_nav a .arrow::before {
    background: url(../common/img/icon_arrow_gr.svg) center center no-repeat;
    background-size: 0.64rem auto;
  }
}
@media screen and (max-width: 768px) {
  #policy_head_nav a .arrow::before {
    background: url(../common/img/icon_arrow_gr.svg) center center no-repeat;
    background-size: 1.28rem auto;
  }
}

@media screen and (min-width: 769px) {
  #policy_head_nav a:hover {
    color: #0068b2;
  }
}
.policy_category_1 #policy_category_head_1,
.policy_category_2 #policy_category_head_2,
.policy_category_3 #policy_category_head_3,
.policy_category_4 #policy_category_head_4,
.policy_category_5 #policy_category_head_5,
.policy_category_6 #policy_category_head_6,
.policy_category_7 #policy_category_head_7,
.policy_category_8 #policy_category_head_8,
.policy_category_9 #policy_category_head_9 {
  color: #0068b2;
}

/**/
#policy_nav_sec {
  border-top: 1px solid #cfcfcf;
}
@media screen and (min-width: 769px) {
  #policy_nav_sec {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  #policy_nav_sec {
    margin-top: 8rem;
  }
}
#policy_nav_sec .inner {
  padding-top: 3rem;
}

@media screen and (min-width: 769px) {
  #policy_local_nav .crm_link_set {
    row-gap: 0;
  }
}
#policy_local_nav .crm_link_set a .arrow::before {
  background-image: url(../common/img/icon_arrow_gr.svg);
}

.policy_category_1 #policy_category_1,
.policy_category_2 #policy_category_2,
.policy_category_3 #policy_category_3,
.policy_category_4 #policy_category_4,
.policy_category_5 #policy_category_5,
.policy_category_6 #policy_category_6,
.policy_category_7 #policy_category_7,
.policy_category_8 #policy_category_8,
.policy_category_9 #policy_category_9 {
  border-color: #0068b2;
  color: #0068b2;
}

.r_s {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .r_s {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .r_s {
    padding-bottom: 6rem;
  }
}

.l_s {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .l_s {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .l_s {
    padding-top: 6rem;
  }
}

.signature {
  line-height: 2 !important;
}

.info_set_box {
  position: relative;
  border: #d0d0d0 1px solid;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .info_set_box {
    padding: 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box {
    padding: 5rem 4rem;
  }
}

@media screen and (min-width: 769px) {
  .info_set_box.mgn {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box.mgn {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .info_set_box.mgn2 {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box.mgn2 {
    margin-top: 4rem;
  }
}

.info_set_box .ttl {
  position: relative;
  transition: ease-out 0.6s all;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .info_set_box .ttl {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
    padding: 0 0 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box .ttl {
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    padding: 0 0 2rem;
  }
}

@media screen and (min-width: 769px) {
  .info_set_box .arrow_link {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .info_set_box .arrow_link {
    margin-top: 2rem;
  }
}

.info_set_box .arrow_link.indent_none a p {
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .info_set_box .arrow_link.indent_none a:hover p {
    text-decoration: none;
  }
}

.general_txt a {
  color: #0068b2;
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .general_txt a:hover {
    text-decoration: none;
  }
}

/**/
@media screen and (min-width: 769px) {
  .arrow_link.mgn {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .arrow_link.mgn {
    margin-top: 2rem;
  }
}

.cap {
  position: relative;
  color: #8a8a8a;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .cap {
    line-height: 1.667em;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    padding-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .cap {
    line-height: 1.667em;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    padding-top: 2rem;
    padding-left: 2.4rem;
    text-indent: -2.4rem;
  }
}

@media screen and (min-width: 769px) {
  main section h4.mgn {
    padding-top: 3rem !important;
  }
}
@media screen and (max-width: 768px) {
  main section h4.mgn {
    padding-top: 5rem !important;
  }
}

@media screen and (min-width: 769px) {
  main section .general_txt.mgn {
    padding-top: 2rem !important;
  }
}
@media screen and (max-width: 768px) {
  main section .general_txt.mgn {
    padding-top: 4rem !important;
  }
}

@media screen and (min-width: 769px) {
  main section .general_txt.mgn_l {
    padding-top: 4rem !important;
  }
}
@media screen and (max-width: 768px) {
  main section .general_txt.mgn_l {
    padding-top: 6rem !important;
  }
}

@media screen and (min-width: 769px) {
  main section .general_txt.mgn_m {
    padding-top: 3rem !important;
  }
}
@media screen and (max-width: 768px) {
  main section .general_txt.mgn_m {
    padding-top: 4rem !important;
  }
}

@media screen and (min-width: 769px) {
  .general_indent_list.mgn {
    padding-top: 2rem !important;
  }
}
@media screen and (max-width: 768px) {
  .general_indent_list.mgn {
    padding-top: 4rem !important;
  }
}

main section h4 {
  position: relative;
  color: #333333;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  main section h4 {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  main section h4 {
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    padding-bottom: 1rem;
  }
}

.fw_m {
  font-weight: 500;
}

.indent_type_1 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .indent_type_1 {
    padding-left: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .indent_type_1 {
    padding-left: 6.4rem;
  }
}

.indent_type_2 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .indent_type_2 {
    padding-left: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .indent_type_2 {
    padding-left: 12rem;
  }
}

.r_date_mgn {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .r_date_mgn {
    padding: 3rem 0 1rem;
  }
}
@media screen and (max-width: 768px) {
  .r_date_mgn {
    padding: 4rem 0 2rem;
  }
}

.r_date {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .r_date {
    padding: 0 0 1rem;
  }
}
@media screen and (max-width: 768px) {
  .r_date {
    padding: 0 0 2rem;
  }
}

#group_list {
  position: relative;
}
@media screen and (min-width: 769px) {
  #group_list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}

#group_list .group_list_set {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  #group_list .group_list_set {
    width: 50%;
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  #group_list .group_list_set {
    gap: 2rem;
  }
}

@media screen and (max-width: 768px) {
  #group_list .group_list_set:last-of-type {
    margin-top: 2rem;
  }
}

.utility_table {
  position: relative;
}
@media screen and (min-width: 769px) {
  .utility_table {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

.utility_table dl {
  position: relative;
}
@media screen and (min-width: 769px) {
  .utility_table dl {
    width: 50%;
    border-bottom: #cfcfcf 1px solid;
    border-left: #cfcfcf 1px solid;
    border-right: #cfcfcf 1px solid;
  }
}
@media screen and (max-width: 768px) {
  .utility_table dl {
    width: 100%;
    border-bottom: #cfcfcf 1px solid;
    border-left: #cfcfcf 1px solid;
    border-right: #cfcfcf 1px solid;
  }
}

.utility_table dl:nth-of-type(1),
.utility_table dl:nth-of-type(2) {
  position: relative;
}
@media screen and (min-width: 769px) {
  .utility_table dl:nth-of-type(1),
  .utility_table dl:nth-of-type(2) {
    border-top: #cfcfcf 1px solid;
  }
}

.utility_table dl:nth-of-type(1) {
  position: relative;
}
@media screen and (max-width: 768px) {
  .utility_table dl:nth-of-type(1) {
    border-top: #cfcfcf 1px solid;
  }
}

.utility_table dl:nth-of-type(odd) {
  position: relative;
}
@media screen and (min-width: 769px) {
  .utility_table dl:nth-of-type(odd) {
    border-right: none;
  }
}
.utility_table dl dt,
.utility_table dl dd {
  position: relative;
  width: 100%;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  .utility_table dl dt,
  .utility_table dl dd {
    line-height: 1.5em;
    font-size: 1.6rem;
    letter-spacing: 0.05;
    padding: 1.5rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  .utility_table dl dt,
  .utility_table dl dd {
    width: 100%;
    display: block !important;
    line-height: 1.5em;
    font-size: 3.2rem;
    letter-spacing: 0.05;
    padding: 2rem 3rem;
  }
}

.utility_table dl dt {
  background: #f7f7f7;
  font-weight: 500;
  border-bottom: #cfcfcf 1px solid;
}

.utility_table dl dt a,
.utility_table dl dt a p {
  font-weight: 500;
  color: #0068b2;
  text-decoration: underline;
}

.utility_table dl dt a.link_none,
.utility_table dl dt a.link_none p {
  color: inherit;
  text-decoration: none;
}

.utility_table dl dt a:hover,
.utility_table dl dt a:hover p {
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  .read_404 {
    text-align: center;
  }
}

.btn_btm.btn_404 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .btn_btm.btn_404 {
    gap: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .btn_btm.btn_404 {
    flex-wrap: wrap;
    gap: 2rem;
  }
}

.btn_btm.btn_404 .btn_base_type {
  margin: 0;
}

.crm_set {
  position: relative;
}
@media screen and (min-width: 769px) {
  .crm_set {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .crm_set {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}

.crm_set_type2 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .crm_set_type2 {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  .crm_set_type2 {
    display: flex;
    flex-direction: column;
    gap: 6rem;
  }
}

.crm_2_box {
  position: relative;
}
@media screen and (min-width: 769px) {
  .crm_2_box {
    width: 48.75%;
    max-width: 58.5rem;
  }
}
.crm_3_box {
  position: relative;
}
@media screen and (min-width: 769px) {
  .crm_3_box {
    width: 31.6%;
    max-width: 38rem;
  }
}
.sitmap_arrow_link a {
  color: #333333;
  font-weight: 500;
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .sitmap_arrow_link a {
    letter-spacing: -0.02em;
  }
}
@media screen and (max-width: 768px) {
  .sitmap_arrow_link a {
    letter-spacing: 0em;
  }
}
.sitmap_arrow_link a.link_none {
  pointer-events: none;
  color: #8b8b8b;
}

@media screen and (min-width: 769px) {
  .sitmap_arrow_link a:hover {
    color: #0068b2;
  }
}

.indent_type1 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .indent_type1 {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .indent_type1 {
    padding-left: 4rem;
  }
}

.indent_type2 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .indent_type2 {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .indent_type2 {
    padding-left: 4rem;
  }
}

.indent_type3 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .indent_type3 {
    padding-left: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .indent_type3 {
    padding-left: 8rem;
  }
}

.flex_set {
  position: relative;
}
@media screen and (min-width: 769px) {
  .flex_set {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3rem 0;
  }
}
@media screen and (max-width: 768px) {
  .flex_set {
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
}

.bg_box {
  position: relative;
  background: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .bg_box {
    padding: 3rem 4rem;
  }
}
@media screen and (max-width: 768px) {
  .bg_box {
    padding: 5rem 4rem;
  }
}

.flex_list {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .flex_list {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .flex_list {
    gap: 2rem;
  }
}

@media screen and (min-width: 769px) {
  .flex_list.mgn {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .flex_list.mgn {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .flex_list.mgn_s {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .flex_list.mgn_s {
    margin-top: 2rem;
  }
}

.full_box {
  position: relative;
  width: 100%;
}

.half_box {
  position: relative;
}
@media screen and (min-width: 769px) {
  .half_box {
    width: 48.75%;
    max-width: 58.5rem;
  }
}
@media screen and (max-width: 768px) {
  .half_box {
    width: 100%;
  }
}

.ttl_link p {
  color: #0068b2;
}
@media screen and (min-width: 769px) {
  .ttl_link p {
    line-height: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
    transform: translateY(-0.4rem);
  }
}
@media screen and (max-width: 768px) {
  .ttl_link p {
    line-height: 1.5em;
    font-size: 3.6rem;
    letter-spacing: 0.05em;
    transform: translateY(-0.4rem);
  }
}

.ttl_line {
  position: relative;
}
@media screen and (min-width: 769px) {
  .ttl_line {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .ttl_line {
    margin-bottom: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .ttl_line.mgn {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .ttl_line.mgn {
    margin-top: 2rem;
  }
}

.ttl_line::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  background: #cdcdcd;
}
@media screen and (min-width: 769px) {
  .ttl_line::before {
    top: 50%;
  }
}
@media screen and (max-width: 768px) {
  .ttl_line::before {
    top: 78%;
  }
}

.ttl_line p {
  position: relative;
  display: inline-block;
  background: #f7f7f7;
  font-weight: 500;
  padding-right: 2rem;
}

/*
.utility_table dl dt a .window{
	position:relative;
    display:inline-block;
    @include mq(pc) {
    width:divceil(12, 10, rem);
    height:divceil(12, 10, rem);
    transform: translateY(divceil(0, 10, rem));
    margin-left: divceil(6, 10, rem);
	}
    @include mq(sp) {
    width:divceil(24, 10, rem);
    height:divceil(24, 10, rem);
    transform: translateY(divceil(0, 10, rem));
    margin-left: divceil(6, 10, rem);
	}
}
.utility_table dl dt a .window::before{
    content: "";
    width:100%;
    height:100%;
    position: absolute;
    top: 0;
    left: 0;
    transition:ease 0.6s all;
	background:url("../../common/img/icon_window_b.svg") center center no-repeat;
	background-size:contain;
}
*/
@media screen and (min-width: 769px) {
  #search_area {
    padding: 0 0 6rem;
  }
}
@media screen and (max-width: 768px) {
  #search_area {
    padding: 0 0 8rem;
  }
}

#search_area input {
  color: #333333;
  background-color: #fff;
  border: #8b8b8b 0.1rem solid;
}
@media screen and (min-width: 769px) {
  #search_area input {
    font-weight: 300;
    line-height: 3.125em;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    width: 79vw;
    max-width: 105rem;
    height: 5rem;
    padding: 0 2rem;
    border-radius: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  #search_area input {
    font-weight: 300;
    line-height: 3.215em;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    width: 49rem;
    height: 9rem;
    padding: 0 3rem;
    border-radius: 0.6rem;
  }
}

#search_area input:focus {
  color: #333333;
  border: #0068b2 1px solid;
  outline: 0;
}

/* Chrome */
#search_area ::-webkit-input-placeholder {
  color: #8E8E8E;
}

/* Firefox */
#search_area ::-moz-placeholder {
  color: #8E8E8E;
}

#search_area .placeholder {
  color: #8E8E8E;
}

#search_area button {
  position: relative;
  border: 0;
  border-radius: 0.4rem;
  transition: ease-out 0.6s all;
  color: #fff;
  text-align: center;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  #search_area button {
    width: 12rem;
    height: 5rem;
    background: #0068b2 url("/en/common/img/icon_search_w.svg") center center no-repeat;
    background-size: 2.2rem auto;
  }
}
@media screen and (max-width: 768px) {
  #search_area button {
    width: 9rem;
    height: 9rem;
    background: #0068b2 url("/en/common/img/icon_search_w.svg") center center no-repeat;
    background-size: 4.3rem auto;
  }
}

@media screen and (min-width: 769px) {
  #search_area button:hover {
    opacity: 0.6;
  }
}
.number_indent_list dl dt {
  white-space: normal !important;
}

/*
#results_area {
	font-size: initial;
}
*/
#results_area {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 769px) {
  #results_area {
    line-height: 1.5em;
    font-size: 1.6rem;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 768px) {
  #results_area {
    line-height: 1.5em;
    font-size: 3.2rem;
    letter-spacing: 0;
  }
}

/*
font-size: initial !important;
#results_area{
    position: relative;
    @include fw(Regular);
      @include mq(pc) {
        @include tbmag(16, 16*1.7, pc);
        letter-spacing: 0.05em;
        }
    @include mq(sp) {
        @include tbmag(32, 32*1.7, sp);
        letter-spacing: 0.05em;
    }
}
*/
/*add*/
.r_t {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .r_t {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .r_t {
    padding-top: 6rem;
  }
}