@charset "utf-8";

/*-------------------------------------
  トップページ
--------------------------------------*/
/* KEY */
.key_fade.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.top_key .key_h.text01 {
  background: url('../Image/top/top_key_bg01.png') center/cover;
}
.top_key .key_h.text02 {
  background: url('../Image/top/top_key_bg02.png') center/cover;
}
.top_key .key_h.text03 {
  background: url('../Image/top/top_key_bg03.png') center/cover;
}
.top_key .key_h .inner {
  position: relative;
  padding-top: 5%;
  padding-bottom: 20%;
}
.top_key .key_h .inner::before {
  content: '';
  display: block;
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 0;
  padding-top: 19vw;
  background: url('../Image/top/top_key_illust01.png') center bottom/contain no-repeat;
}
@media ( min-width: 1200px ) {
  .top_key .key_h .inner {
    padding-top: 10rem;
    padding-bottom: 38rem;
  }
  .top_key .key_h .inner::before {
    padding-top: 36rem;
  }
}


/* SERVICE */
.fx_service {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.fx_service > .item {
  position: relative;
  display: block;
  margin-top: 4rem;
  flex-basis: auto;
  width: calc( (100% - 4rem) / 2 );
  padding-right: .8rem;
  padding-bottom: .8rem;
}
.fx_service > .item::before {
  content: '';
  display: block;
  position: absolute;
  top: .8rem;
  left: .8rem;
  right: 0;
  bottom: 0;
  background: rgb(204,206,255);
  background: -moz-linear-gradient(top, rgba(204,206,255,1) 1%, rgba(193,190,243,1) 100%);
  background: -webkit-linear-gradient(top, rgba(204,206,255,1) 1%,rgba(193,190,243,1) 100%);
  background: linear-gradient(to bottom, rgba(204,206,255,1) 1%,rgba(193,190,243,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccceff', endColorstr='#c1bef3',GradientType=0 );
  border-radius: 1.5rem;
}
.fx_service > .item .item_inr {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 3.5rem 3.5rem 6rem;
  background-color: #fff;
  border: 1.5px solid #aca8f8;
  border-radius: 1.5rem;
  transition: .4s;
}
.fx_service > .item:first-of-type .item_inr {
  padding: 3.5rem 3.5rem 12rem;
}
.fx_service > .item:nth-child(1) .item_inr::before,
.fx_service > .item:nth-child(2) .item_inr::before,
.fx_service > .item:nth-child(3) .item_inr::before,
.fx_service > .item:nth-child(4) .item_inr::before,
.fx_service > .item:nth-child(5) .item_inr::before,
.fx_service > .item:nth-child(6) .item_inr::before {
  content: '';
  display: block;
  z-index: 1;
  position: absolute;
  right: 3.5rem;
  bottom: 4rem;
  background-color: #fff;
}

.fx_service > .item:nth-child(1) .item_inr::before {
  width: 40%;
  padding-top: 20%;
  background: url(../Image/top/top_service01.png) right bottom/contain no-repeat;
  bottom: 1rem;
}
.fx_service > .item:nth-child(2) .item_inr::before {
  width: 40%;
  padding-top: 23%;
  background: url(../Image/top/top_service02.png) right bottom/contain no-repeat;
}
.fx_service > .item:nth-child(3) .item_inr::before {
  width: 50%;
  padding-top: 30%;
  background: url(../Image/top/top_service03.png) right bottom/contain no-repeat;
}
.fx_service > .item:nth-child(4) .item_inr::before {
  width: 37%;
  padding-top: 30%;
  background: url(../Image/top/top_service04.png) right bottom/contain no-repeat;
}
.fx_service > .item:nth-child(5) .item_inr::before {
  width: 40%;
  padding-top: 45%;
  background: url(../Image/top/top_service05.png) right bottom/contain no-repeat;
}
.fx_service > .item:nth-child(6) .item_inr::before {
  width: 40%;
  padding-top: 30%;
  background: url(../Image/top/top_service06.png) right bottom/contain no-repeat;
}

.fx_service > .item .s_ttl {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.3;
  letter-spacing: .1rem;
  word-wrap: break-word;
}

.fx_service > .item .s_catch {
  font-weight: 500;
  font-size: 1.8rem;
  color: #6259cd;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.fx_service > .item .s_btn {
  margin-top: 1.5rem;
}
.fx_service > .item .s_btn .btn_green {
    padding: .8rem 4rem 1rem;
    font-size: 1.4rem;
}
.fx_service > .item .separate_bar {
  margin-top: 2rem;
}
.fx_service > .item .s_text {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: .1rem;
}
.fx_service .ul_arrow {
  margin-top: 2rem;
}


/* NEWS */
.sec_news_tbl {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.sec_news_tbl > * {
  display: table-cell;
  vertical-align: top;
}
.sec_news_tbl .tbc_news .n_more {
  margin-top: -2rem;
  text-align: right;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.sec_news_tbl .tbc_news .n_more > a {
  position: relative;
  display: inline-block;
  padding-left: 2.5rem;
}
.sec_news_tbl .tbc_news .n_more > a:hover,
.sec_news_tbl .tbc_news .n_more > a:focus {
  opacity: .7;
}
.sec_news_tbl .tbc_news .n_more > a::before {
  content: '';
  display: block;
  position: absolute;
  top: .3rem;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 14px;
  height: 15px;
  background: url('../Image/common/arrow_gr.png') center/cover;
}
.sec_news_tbl .tbc_bnr {
  width: 43%;
  padding-top: 2rem;
  padding-left: 7rem;
}
.sec_news_tbl .tbc_bnr > a {
  display: inline-block;
}
.sec_news_tbl .tbc_bnr > a:hover,
.sec_news_tbl .tbc_bnr > a:focus {
  opacity: .7;
}

.n_news.top_bd {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid #D5D9DC;
}

.n_news {
  margin-left: auto;
  margin-right: auto;
  max-width: 80rem;
}
.n_news > li + li {
  margin-top: 1.2rem;
}
.n_news.bd > li + li {
  padding-top: 1.2rem;
  border-top: 1px solid #ddd;
}
.n_news > li > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: .5rem;
  letter-spacing: .1rem;
}
.n_news > li > a:hover,
.n_news > li > a:focus {
  color: #8f89dc;
}
.n_news > li > a > time {
  -ms-flex: 0 1 auto;
  width: 11rem;
  padding: .3rem 1rem;
  background-color: #98c131;
  text-align: center;
  font-weight: 500;
  font-size: 1.5rem;
  color: #fff;
  line-height: 1.3;
}
.n_news > li > a > .text {
  -ms-flex: 0 1 auto;
  width: calc( 100% - 11rem );
  padding-left: 2.5rem;
  font-size: 1.6rem;
  line-height: 1.5;
  text-decoration: underline;
}



/*--------------------------------------------
  UNDER COMMON
--------------------------------------------*/
.key_sub {
  background: url('../Image/common/key_bg_under.png');
  overflow: hidden;
}
.key_sub .inner {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  height: 26rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.key_sub .inner .key_illust {
  width: 100%;
  max-width: 65%;
}
.key_sub .inner .key_illust::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
  width: 35%;
  height: 100%;
}
.key_sub .title {
  font-weight: 600;
  font-family: 'Noto Serif JP', serif;
  font-size: 4rem;
  line-height: 1.3;
  letter-spacing: .2rem;
}
.key_sub .en {
  margin-top: .5rem;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
  font-size: 1.6rem;
  color: #8f89dc;
  line-height: 1.3;
  letter-spacing: .1rem;
}


.wrap_breadcrumbs {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.wrap_breadcrumbs .breadcrumbs {
  font-size: 0;
}
.wrap_breadcrumbs .breadcrumbs > li {
  display: inline-block;
  font-size: 0;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wrap_breadcrumbs .breadcrumbs > li + li::before {
  content: '>';
  display: inline-block;
  padding-left: .8rem;
  padding-right: .8rem;
  font-size: 1.5rem;
}
.wrap_breadcrumbs .breadcrumbs > li > * {
  font-size: 1.5rem;
}
.wrap_breadcrumbs .breadcrumbs > li > a:hover {
  color: #8f89dc;
}


/*--------------------------------------------
  CASE
--------------------------------------------*/
.key_sub.case .inner .key_illust::before {
  background: url('../Image/case/key_case.png') right bottom/contain no-repeat;
}
.ul_pagenav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: -2rem;
}
.ul_pagenav > li {
  margin-top: 2rem;
  min-width: 20%;
}
.ul_pagenav > li + li {
  margin-left: 2rem;
}
.ul_pagenav > li > a {
  position: relative;
  display: block;
  padding: 1rem 3rem;
  padding-right: 4rem;
  border-radius: 3rem;
  background-color: #8f89dc;
  text-align: center;
  color: #fff;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.ul_pagenav li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 1.5rem;
  bottom: 0;
  margin: auto;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: #fff;
}
.ul_pagenav li > a::after {
  content: '';
  display: block;
  position: absolute;
  top: .1rem;
  right: 1.8rem;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .4rem .3rem 0 .3rem;
  border-color: #7f77e6 transparent transparent transparent;
}
.ul_pagenav > li > a:hover,
.ul_pagenav > li > a:focus {
  opacity: .7;
}
.ul_caselist {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ul_caselist > li {
  margin-top: 2rem;
  width: calc( (100% - 2rem) / 2 );
}
.ul_caselist > li > a {
  position: relative;
  display: block;
  height: 100%;
  padding-right: .8rem;
  padding-bottom: .8rem;
}
.ul_caselist > li > a:hover .item_inr,
.ul_caselist > li > a:focus .item_inr {
  /*transform: translate(.8rem, .8rem);*/
  /*opacity: .9;*/
  background-color: #f2efff;
}
.ul_caselist > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: .8rem;
  left: .8rem;
  right: 0;
  bottom: 0;
  background: rgb(204,206,255);
  background: -moz-linear-gradient(top, rgba(204,206,255,1) 1%, rgba(193,190,243,1) 100%);
  background: -webkit-linear-gradient(top, rgba(204,206,255,1) 1%,rgba(193,190,243,1) 100%);
  background: linear-gradient(to bottom, rgba(204,206,255,1) 1%,rgba(193,190,243,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccceff', endColorstr='#c1bef3',GradientType=0 );
  border-radius: 1.5rem;
}
.ul_caselist > li > a .item_inr {
  position: relative;
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 100%;
  padding: 2rem;
  background-color: #fff;
  border: 1.5px solid #aca8f8;
  border-radius: 1.5rem;
  transition: .4s;
}
.ul_caselist > li > a .item_inr > * {
  display: table-cell;
  vertical-align: top;
}
.ul_caselist > li > a .item_inr .number {
  width: 7rem;
  padding-right: 2rem;
  border-right: 2px dotted #CFCFCF;
}
.ul_caselist > li > a .item_inr .number .no {
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
  font-size: 4.5rem;
  color: #8f89dc;
  line-height: 1;
  letter-spacing: .2rem;
}
.ul_caselist > li > a .item_inr .conts {
  /*padding-left: 2rem;*/
}
.ul_caselist > li > a .item_inr .conts .title {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.ul_caselist > li > a .item_inr .conts .fx_info {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ul_caselist > li > a .item_inr .conts .fx_info .info_text {
  line-height: 1.5;
}
.ul_caselist > li > a .item_inr .conts .fx_info .info_btn {
  padding-left: 1rem;
}
.ul_caselist > li > a .item_inr .conts .btn_green {
  min-width: 14rem;
  padding: .6rem 1.5rem .8rem;
  font-size: 1.4rem;
  white-space: nowrap;
}


/* 詳細ページ */
.single_wrap {
  position: relative;
  display: block;
  padding-right: .8rem;
  padding-bottom: .8rem;
}
.single_wrap::before {
  content: '';
  display: block;
  position: absolute;
  top: .8rem;
  left: .8rem;
  right: 0;
  bottom: 0;
  background: rgb(204,206,255);
  background: -moz-linear-gradient(top, rgba(204,206,255,1) 1%, rgba(193,190,243,1) 100%);
  background: -webkit-linear-gradient(top, rgba(204,206,255,1) 1%,rgba(193,190,243,1) 100%);
  background: linear-gradient(to bottom, rgba(204,206,255,1) 1%,rgba(193,190,243,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccceff', endColorstr='#c1bef3',GradientType=0 );
  border-radius: 1.5rem;
}
.single_wrap + .single_wrap {
  margin-top: 6rem;
}
.single_wrap.mgb_md {
  margin-bottom: 6rem;
}
.single_wrap .item_inr {
  position: relative;
  width: 100%;
  padding: 4.5rem 8rem;
  background-color: #fff;
  border: 1.5px solid #aca8f8;
  border-radius: 1.5rem;
}
.single_wrap .item_inr .title {
  margin-bottom: 1.5rem;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: .1rem;
}
.single_relation {
  margin-top: 5rem;
}
.ul_caselist.relation {
  justify-content: center;
}
.ul_caselist.relation>li {
  width: calc((100% - 5rem) / 5);
}
.ul_caselist.relation>li:not(:first-child) {
  margin-left: 1.25rem;
}

.wp_editor {
  font-size: 1.8rem;
}
.wp_editor p:last-child,
.wp_editor ul:last-child,
.wp_editor ol:last-child {
  margin-bottom: 0;
}
.wp_editor p {
  margin-bottom: 2rem;
  line-height: 1.5;
  letter-spacing: .1rem;
  /*text-indent: 1.9rem;*/
}
.wp_editor a {
  color: #25b4e0;
  word-break: break-all;
}
.wp_editor a:hover,
.wp_editor a:focus {
  opacity: .7;
}
.wp_editor p > i {
  font-style: normal;
  color: #ae02a3;
}
.wp_editor h2 {
  position: relative;
  margin-bottom: 2rem;
  padding: 1.5rem 3.5rem;
  background-color: #98c131;
  font-weight: 500;
  font-size: 2.2rem;
  color: #fff;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wp_editor h2::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2rem 2rem 0 0;
  border-color: #749303 transparent transparent transparent;
}
.wp_editor h3 {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  font-weight: 500;
  font-size: 2rem;
  color: #333;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wp_editor h3::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background-color: #dddddd;
}
.wp_editor h3::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 9rem;
  height: 4px;
  background-color: #6d9702;
}
.wp_editor h4 {
  margin-bottom: 2rem;
  font-weight: 500;
  font-size: 1.8rem;
  color: #6d9702;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wp_editor ul,
.wp_editor ol {
  margin-bottom: 2rem;
  padding-left: 3rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wp_editor ul > li:not(:first-child),
.wp_editor ol > li:not(:first-child) {
  margin-top: 2.5rem;
}
.wp_editor ul > li {
  list-style-type: disc;
}
.wp_editor ol > li {
  list-style-type: decimal;
}

.wp_editor .table_wrap {
  margin-bottom: 2rem;
}
.wp_editor table {
  width: 100%;
}
.wp_editor table tr > th,
.wp_editor table tr > td {
  padding: 10px;
  border: 1px solid #ddd;
}
.wp_editor table tr > th {
  background: url(../Image/common/key_bg_under.png);
}

.wp_editor * + .editor_box,
.wp_editor * + .note_box,
.wp_editor * + .accordion_box {
  margin-top: 4rem;
}
.wp_editor .note_box {
  padding: 2.5rem;
  border: 2px solid #e4efc8;
}
.wp_editor .accordion_box h2 {
  margin-bottom: 0;
  padding-right: 6.5rem;
  cursor: pointer;
}
.wp_editor .accordion_box h2 > span {
  position: absolute;
  top: 0;
  right: 2.5rem;
  bottom: 0;
  margin: auto;
  width: 2.5rem;
  height: .2rem;
  background-color: #fff;
}
.wp_editor .accordion_box h2 > span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: .2rem;
  height: 2.5rem;
  background-color: #fff;
}
.wp_editor .accordion_box h2.open > span::before {
  display: none;
}
.wp_editor .accordion_box .conts_inr {
  display: none;
  padding: 3rem 4rem 4rem;
  background-color: #f5fbe6;
}
.wp_editor .accordion_box .conts_inr * + .white_box,
.wp_editor .accordion_box .conts_inr * + .editor_box {
  margin-top: 3rem;
}
.wp_editor .accordion_box .conts_inr .white_box {
  padding: 3rem 4rem;
  background-color: #fff;
}
.wp_editor .accordion_box .conts_inr .white_box .bd_box {
  padding: 2.5rem;
  border: 2px solid #e4efc8;
}
.wp_editor .accordion_box .conts_inr .white_box .bd_box h4,
.wp_editor .accordion_box .conts_inr .white_box .bd_box p:not(:last-child),
.wp_editor .accordion_box .conts_inr .white_box .bd_box ul:not(:last-child),
.wp_editor .accordion_box .conts_inr .white_box .bd_box ol:not(:last-child) {
  margin-bottom: 1rem;
}

.wp_editor .accordion_box.accordion_off h2 {
  cursor: default;
  pointer-events: none;
}
.wp_editor .accordion_box.accordion_off h2 > span {
  display: none;
}
.wp_editor .accordion_box.accordion_off .conts_inr {
  display: block;
}


.under_inr_sec + .under_inr_sec {
  margin-top: 4rem;
}
.under_inr_sec .under_text {
  font-size: 1.8rem;
}
.under_inr_sec .under_text > em {
  font-style: normal;
  color: #ae02a3;
  letter-spacing: .1rem;
}
.under_inr_sec .under_text .underline {
  text-decoration: underline;
}
.under_inr_sec .under_text + .under_text {
  margin-top: 1rem;
}
.under_inr_sec .ul_deco + .under_text {
  margin-top: 2rem;
}
.under_inr_sec.mgt_md .under_text + .under_text {
  margin-top: 3.5rem;
}
.under_inr_sec .under_text a:not(.sp_event) {
  color: #3094b3;
  word-break: break-all;
}
.under_inr_sec .under_text .name {
  font-weight: bold;
  font-family: 'HG行書体', 'Noto Serif JP', sans-serif;
  font-size: 2.4rem;
}
.under_inr_sec .ul_deco > li:not(:first-child) {
  margin-top: 2rem;
}



/*--------------------------------------------
  SERVICE
--------------------------------------------*/
.key_sub.under_page .inner .key_illust::before {
  top: 1rem;
  background: url('../Image/common/key_under.png') right bottom/contain no-repeat;
}
#service .single_wrap .item_inr.service_img01::before,
#service .single_wrap .item_inr.service_img02::before {
  content: '';
  display: block;
  z-index: 1;
  position: absolute;
  right: 3.5rem;
  bottom: 4rem;
  background-color: #fff;
}
#service .single_wrap .item_inr.service_img01::before {
  width: 55%;
  padding-top: 20%;
  background: url(../Image/service/service01.png) right bottom/contain no-repeat;
}
#service .single_wrap .item_inr.service_img02::before {
  width: 55%;
  padding-top: 20%;
  background: url(../Image/service/service02.png) right bottom/contain no-repeat;
}


/*--------------------------------------------
  OFFICE
--------------------------------------------*/
#office .fx_member {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 3rem;
  border-bottom: 1px dashed #CACACA;
}
#office .fx_member:first-child {
  margin-top: -3rem;
}
#office .fx_member > .fx_img {
  flex-basis: auto;
  width: 20%;
  padding-right: 2rem;
}
#office .fx_member > .fx_conts {
  flex-basis: auto;
  width: 80%;
  padding-bottom: 3rem;
}
#office .fx_member > .fx_conts .member_title {
  font-weight: 500;
}
#office .fx_member > .fx_conts .member_name {
  margin-bottom: 1.5rem;
  font-weight: 500;
  font-size: 2.2rem;
}
#office .fx_member > .fx_conts .member_name .sm {
  display: inline-block;
  margin-right: 1rem;
  font-size: 1.8rem;
}
#office .fx_member > .fx_position {
  flex-basis: auto;
  width: 100%;
  margin-top: 1rem;
  padding-bottom: 3rem;
}
#office .fx_member > .fx_position .ul_check li:last-child {
  border-bottom: none;
}



/*-------------------------------------
  お問い合わせ
--------------------------------------*/
input:not([type='radio']):not([type='checkbox']),
select,
textarea {
  width: 100%;
  font-size: 1.4rem;
  padding: 1rem;
  border: 1px solid #eee;
  line-height: 1.3;
}
select {
  padding: .8rem 1rem;
}
.ios select {
  -webkit-appearance: button;
  appearance: button;
  padding: .8rem 1rem;
}
textarea {
  min-height: 20rem;
}

#contact .tbl_2col > tbody > tr > th {
  vertical-align: middle;
}
.tbl_2col > tbody > tr > th > span {
  position: relative;
  display: block;
  padding-right: 5rem;
}
.tbl_2col > tbody > tr > th > span .require {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 2rem;
  padding: .4rem 1rem;
  background-color: #8f89dc;
  text-align: center;
  font-weight: 500;
  font-size: 1.2rem;
  color: #fff;
  line-height: 1;
}

.wrap_form .f_row + .f_row {
  margin-top: 4rem;
}
.wrap_form .f_row .f_ttl {
  margin-bottom: 1rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wrap_form .f_row .f_ttl.mgb0 {
  margin-bottom: 0;
}

.ul_radio + input {
  margin-top: 1rem;
}
.ul_radio > li {
  display: inline-block;
  margin-top: 2rem;
  margin-right: 2.5rem;
  font-size: 1.4rem;
  line-height: 1.3;
}
.ul_radio > li:last-child {
  margin-right: 0;
}
.ul_radio > li > label > input {
  position: absolute;
  visibility: hidden;
}
.ul_radio > li > label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 2.8rem;
}
.ul_radio > li > label > input + span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.ul_radio > li > label > input:checked + span::after {
  content: '';
  display: block;
  position: absolute;
  top: .5rem;
  left: .5rem;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background-color: #666;
}

.item_checkbox {
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.item_checkbox > label > input {
  position: absolute;
  visibility: hidden;
}
.item_checkbox > label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 2.8rem;
}
.item_checkbox > label > input + span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.item_checkbox > label > input:checked + span::after {
  display: block;
  content: '';
  position: absolute;
  top: .3rem;
  left: .3rem;
  width: 1.8rem;
  height: .8rem;
  border-left: .3rem solid #d899ed;
  border-bottom: .3rem solid #d899ed;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.tbl_label {
  width: 100%;
  display: table;
}
.tbl_label + .tbl_label {
  margin-top: 1.5rem;
}
.tbl_label > * {
  display: table-cell;
  vertical-align: middle;
}
.tbl_label > .label {
  width: 5rem;
  padding-right: 1.5rem;
  text-align: right;
  white-space: nowrap;
}

.note_text {
  margin-top: .5rem;
  font-size: 1.4rem;
}

.address_row {
  display: table;
  width: 100%;
}
.address_row + .address_row {
  margin-top: 1.2rem;
}
.address_row > * {
  display: table-cell;
  vertical-align: middle;
}
.address_row > .label {
  width: 18rem;
  padding-right: 2rem;
  text-align: right;
  white-space: nowrap;
}


.scroll_box {
  padding: 2rem;
  border: 1px solid #e4e4e4;
}
.scroll_box .inr_box {
  height: 25rem;
  padding: 1rem;
  overflow: auto;
}




/*-------------------------------------
  プライバシーポリシー
--------------------------------------*/
.terms_box > h2,
.terms_box > h3,
.terms_box > h4 {
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.3;
}
.terms_box > h2::before,
.terms_box > h3::before,
.terms_box > h4::before {
  content: '■';
  margin-right: 1rem;
  font-size: 1.2rem;
  vertical-align: .1rem;
}
.terms_box > p,
.terms_box > ul {
  font-size: 1.4rem;
}
.terms_box > p + h2,
.terms_box > ul + h2,
.terms_box > p + h3,
.terms_box > ul + h3,
.terms_box > p + h4,
.terms_box > ul + h4 {
  margin-top: 3.5rem;
}
.terms_box > p + p {
  margin-top: 1.5rem;
}
.terms_box > p + ul {
  margin-top: 1rem;
}
.terms_box > p > a {
  color: #3094b3;
  word-break: break-all;
}



/*-------------------------------------
  サイトマップ
--------------------------------------*/
.fx_50p {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.fx_50p > .item {
  position: relative;
  display: block;
  flex-basis: auto;
  width: calc( (100% - 6rem) / 2 );
}

.ul_sitemap > li + li {
  margin-top: 2rem;
}
.ul_sitemap > li {
  border-bottom: 1px solid #D5D9DC;
}
.ul_sitemap > li > a {
  position: relative;
  display: block;
  padding: 1rem;
  padding-left: 2.5rem;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.ul_sitemap > li > a:hover,
.ul_sitemap > li > a:focus {
  color: #8f89dc;
}
.ul_sitemap > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .8rem 0 .8rem .8rem;
  border-color: transparent transparent transparent #d1c9ee;
}

.ul_sitemap_sub {
  padding-left: 2.5rem;
  padding-bottom: 1rem;
}
.ul_sitemap_sub > li + li {
  margin-top: .5rem;
}
.ul_sitemap_sub > li > a {
  position: relative;
  display: block;
  padding: .5rem;
  padding-left: 1.5rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.ul_sitemap_sub > li > a:hover,
.ul_sitemap_sub > li > a:focus {
  color: #8f89dc;
}
.ul_sitemap_sub > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
  background-color: #333;
}


/*-------------------------------------
  404
--------------------------------------*/


/*-----------------------------------------------------
  Wordpress
------------------------------------------------------*/
/* ナビゲーション全体のデザイン */
.wp-pagenavi {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4.5rem;
}
/* ボタン<a>タグのデザイン */
.wp-pagenavi * {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
}
.wp-pagenavi * + * {
  margin-left: 1.5rem;
}
.wp-pagenavi a,
.wp-pagenavi .current {
  color: #8f89dc;
  font-size: 1.5rem;
  background: #fff;
  border: 1px solid #8f89dc;
  padding: .5rem;
  line-height: 1.3;
  transition: .4s;
}
.wp-pagenavi a:hover,
.wp-pagenavi a:focus {
  color: #fff;
  background-color: #8f89dc;
  opacity: .7;
}
.wp-pagenavi .current {
  color: #fff;
  background-color: #8f89dc;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  color: #8f89dc;
  font-size: 1.6rem;
  font-weight: bold;
  background: none;
  border: none;
}
