@charset "utf-8";

/* ======================================
body
====================================== */
.c_inner {
  width: 980px;
  margin: 0 auto;
  position: relative;
}

#contents_wrap {
  margin: -80px 0 75px 0;
  padding-top: 80px;
  line-height: 1.8;
}

a.roll:hover img {
  opacity: 1;
}

a img {
  /* ホバー時ズレ防止 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#global_navi,
.c_hl04,
.c_hl05,
.page_title_txt,
#how_nav .p2,
#flow04 .opening_title .hl_txt,
.how_immigration_box .hl_imm,
#flow_contact .p2,
#support_chance .head_chance_supp,
.c_voice .title_txt,
#contact_tel .p2,
.kigyou_furusato_contact .contact_txt,
.kigyou_furusato_catch .p1,
.btn_link._bnr {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


/* =================== header =================== */
#header {
  width: 100%;
  min-width: 980px;
  position: fixed;
  z-index: 9997;
  right: 0;
  left: 0;
  top: 0;
  margin: 0 auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#header .logo {
  float: left;
  position: relative;
  width: 401px;
  margin: 20px 20px 20px 21px;
}

#header.scroll .logo {
  width: 300px;
}

#header .icon_navi {
  float: right;
  overflow: hidden;
  margin: 20px 22px 20px 0;
}

#header .icon_navi p {
  position: relative;
  float: left;
  width: 55px;
  height: 55px;
}

#header .icon_navi .tel {
  margin-right: 20px;
}

#header .icon_navi .mail {
  margin-right: 20px;
}

#header .button {
  cursor: pointer;
  position: relative;
}

#header .button .menu_line {
  display: block;
  position: absolute;
  left: 10%;
  width: 80%;
  height: 1px;
  /* background: #fff; */
  border: 2px solid #fff;
  border-radius: 2px;
}

#header .button .menu_line:nth-child(1) {
  top: 11px;
}

#header .button .menu_line:nth-child(2) {
  top: 26px;
}

#header .button .menu_line:nth-child(3) {
  bottom: 10px;
}

#header.scroll .button .menu_line {
  border: 2px solid #000;
}


/* scroll */
#header .img_b {
  position: absolute;
  left: 0;
  top: 0;
}

#header .img_w,
#header.scroll .img_b {
  opacity: 1;
}

#header.scroll .img_w,
#header .img_b {
  opacity: 0;
}

#header.scroll {
  background: #fff;
  box-shadow: 0 6px 12px -6px rgba(0, 0, 0, 0.35);
}

/* =================== grobal_navi =================== */

#global_navi {
  z-index: 9998;
  position: fixed;
  overflow-y: scroll;
  right: -517px;
  top: 0;
  width: 517px;
  height: 100%;
  padding-bottom: 100px;
  background: rgba(0, 0, 0, 0.9);
}

#global_navi.open {
  right: -17px;
}

#global_navi,
#global_navi a {
  color: #fff;
}

#global_navi .list_navi {
  clear: both;
  padding: 0 20px;
}

#global_navi li.parent {
  font-size: 20px;
  position: relative;
  padding: 10px 20px 10px 30px;
  /*
  padding: 14px 20px 36px 39px;
  margin-bottom: 20px;
  */
}

#global_navi li.parent:before,
#global_navi li.parent:after {
  content: "";
  position: absolute;
  background: #626262;
}

#global_navi li.parent:after {
  top: 0;
  left: 20px;
  width: 1px;
  height: 100%;
}

#global_navi li.parent:before {
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
}

#global_navi li.parent:last-child:before {
  display: none;
}

#global_navi li .children {
  margin: 10px 25px 10px;
}

#global_navi li .children li {
  font-size: 16px;
  margin-bottom: 5px;
}

#global_navi li .children li:last-child {
  margin-bottom: 0;
}

#global_navi li.parent a,
#global_navi li .children a {
  display: block;
  padding: 10px;
  /*
  margin-left: 1.2em;
  text-indent: -1.2em;
  */
}

#header a,
#global_navi,
#global_navi a,
.footer_navi a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#header a:hover,
#global_navi a:hover,
.footer_navi a:hover {
  text-decoration: none;
  opacity: 0.6;
}

/*
#global_navi li.parent span a:before,
.footer_navi li.parent span a:before {
  content: "\25B6";
  font-size: 16px;
  padding-right: 8px;
}
*/

#global_navi li .children li a:before,
.footer_navi li .children li a:before {
  content: "\FF1E";
  padding-right: 8px;
}

/* =================== footer =================== */
#footer .pagetop {
  width: 102px;
  position: fixed;
  z-index: 100;
  bottom: 20px;
  right: 20px;
}

.footer_navi {
  min-height: 332px;
  padding-top: 165px;
  background: url(../img/cmn/footer_bg.png) repeat-x center bottom;
  overflow: hidden;
}

.footer_navi li.parent:nth-child(5),
.footer_navi li.parent:nth-child(6) {
  clear: both;
}

.footer_navi li.parent {
  float: left;
  margin: 0 41px 30px 0;
}

.footer_navi li .children li {
  float: left;
  margin: 20px 35px 0 0;
}

.footer_info {
  padding: 30px 0 31px;
  position: relative;
}

.footer_info:after {
  content: "";
  display: block;
  clear: both;
}

.footer_info .logo {
  width: 401px;
  float: left;
}

.footer_info .copy {
  padding-top: 55px;
  font-size: 14px;
  float: right;
}

/* ============================================
cmn_parts
============================================ */
/* bread */
#bread {
  font-size: 14px;
  line-height: 1.4;
  word-break: break-all;
  margin-bottom: 72px;
}

#bread li {
  display: inline-block;
}

/* c_hl */
.c_hl01 {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}

.c_hl01:after {
  content: "";
  position: absolute;
  top: 48%;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background: #a0a0a0;
  z-index: -1;
}

.c_hl01 .hl_txt {
  display: inline-block;
}

.c_hl01 .hl_txt img {
  background: #fff;
  width: 50%;
}

.c_hl02 {
  line-height: 1.4;
  font-size: 24px;
  margin-bottom: 12px;
  padding-bottom: 20px;
  position: relative;
}

.c_hl02:before {
  height: 100%;
  width: 1px;
  border-left: 1px solid #b0b0b0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 20px;
}

.c_hl02:after {
  height: 100%;
  width: 1px;
  border-left: 10px solid #b0b0b0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 26px;
}

.c_hl02 .hl_txt {
  padding: 5px 0 12px 55px;
  border-bottom: 1px solid #b0b0b0;
}

.c_hl03 {
  font-size: 20px;
  padding-bottom: 3px;
  margin-bottom: 12px;
  border-bottom: 1px solid #b0b0b0;
}

.c_hl03 .hl_txt {
  position: relative;
  padding-left: 20px;
  line-height: 1.4;
}

.c_hl03 .hl_txt:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
  background: #b0b0b0;
}

.c_hl04 {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}

.c_hl04:after {
  content: "";
  position: absolute;
  top: 49%;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #a0a0a0;
  z-index: -1;
}

.c_hl04 .hl_txt {
  display: inline-block;
  background: #fff;
  font-size: 34px;
  font-weight: bold;
  padding: 0 60px 10px;
}

.c_hl04 .hl_wrap {
  display: inline-block;
  position: relative;
}

.c_hl04 .hl_wrap:after,
.c_hl04 .hl_wrap:before,
.c_hl04 .hl_txt:after,
.c_hl04 .hl_txt:before {
  content: "";
  position: absolute;
  width: 1px;
  height: 50%;
  border-left: 1px solid #a0a0a0;
  z-index: 2;
}

.c_hl04 .hl_wrap:after {
  bottom: 42%;
  left: 11px;
  transform: rotate(45deg);
}

.c_hl04 .hl_wrap:before {
  top: 44%;
  left: 11px;
  transform: rotate(-45deg);
}

.c_hl04 .hl_txt:after {
  bottom: 42%;
  right: 10px;
  transform: rotate(-45deg);
}

.c_hl04 .hl_txt:before {
  top: 44%;
  right: 10px;
  transform: rotate(45deg);
}

.c_hl04 .hl_en {
  font-size: 24px;
  font-weight: 300;
  display: block;
}

.c_hl05 {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 40px;
  position: relative;
  padding: 0.5em 0;
}

.c_hl05:before,
.c_hl05:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  /*
  background-image: -webkit-linear-gradient(315deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
  background-image: linear-gradient(135deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
  */

  background-image: -webkit-linear-gradient(315deg, #ffffff 0%, #75B68B 40%, #75B68B 60%, #ffffff 100%);
  background-image: linear-gradient(135deg, #ffffff 0%, #75B68B 40%, #75B68B 60%, #ffffff 100%);
}

.c_hl05:before {
  top: 0;
  display: none;
}

.c_hl05:after {
  bottom: 0;
}


/* page_title */
.page_visual404,
.page_visual {
  margin-bottom: 18px;
  width: 100%;
  height: 500px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover !important;
}


.page_visual404 {
  height: 110px;
}

.page_title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 980px;
  text-align: center;
}

.page_title_txt {
  display: inline-block;
  font-size: 60px;
  font-weight: bold;
  text-shadow: 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 40px #fff;
  color: #000;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.bg_company .page_title_txt {
  text-shadow: none;
  letter-spacing: 0;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 40px 20px;
  width: 100%;
  max-width: 800px;
}

.page_title_txt._r {
  text-shadow: 0px 0px 20px #000, 0px 0px 20px #000, 0px 0px 20px #000;
  color: #fff;
}

.bg_how .page_title_txt {
  max-width: 700px;
}

.page_visual {
  position: relative;
  overflow: hidden;
}

.page_visual_abs,
.page_visual_abs img {
  object-fit: cover;
  width: 100%;
  height: 500px;
}

.page_title_txt img {
  width: 50%;
}

.bg_company_child .page_title {
  text-align: left;
  top: 65%;
}

.bg_company_child .page_title_txt {}

.bg_company .page_title_txt img {
  width: 800px;
}

.bg_how .page_title_txt img {
  width: 625px;
}

.bg_404 .page_visual404 {
  background-color: #000;
}

.c_pd {
  padding-left: 60px;
  padding-right: 60px;
  line-height: 1.8;
  word-break: normal;
}

.c_anchor {
  margin-top: -110px;
  padding-top: 110px;
}

/* ============================================
index
============================================ */
/*
.top_visual{
	position:relative;
	width:100%;
	height:900px;
}

.top_visual .bg_area{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:0;
	width:100%;
	height:100%;
	background:url(../img/top/top_visual.jpg) no-repeat center center;
	background-size:cover;
}

*/


.top_visual {
  position: relative;
}

.top_visual .flexslider {
  margin: 0;
  border: 0;
}


.top_visual .bg_area img {
  width: 100%;
}


.flexslider .slides .slide_abs,
.flexslider .slides .slide_abs img {
  object-fit: cover;
  width: 100%;
}

.top_visual .flexslider,
.flexslider .slides .slide_abs,
.flexslider .slides .slide_abs img,
.top_visual .flexslider .slides > li {
  height: 100vh;
  max-height: 800px;
}

.top_visual .catch {
  width: 100%;
  max-width: 700px;
  color: #fff;
  text-align: center;
  font-size: 28px;
  line-height: 1.64;
  padding: 22px 0;
  position: absolute;
  bottom: 10%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 100;
  background: rgba(0, 0, 0, 0.6);
}

.top_visual .catch .big_text1 {
  font-size: 40px;
}

.top_visual .scroll_btn {
  width: 107px;
  position: absolute;
  bottom: -54px;
  z-index: 10;
  left: 0;
  right: 0;
  margin: auto;
}

.top_visual .flexslider .slides > li {
  -webkit-transition: opacity 2s;
  -o-transition: opacity 2s;
  transition: opacity 2s;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

#top_banner .c_inner {
  overflow: hidden;
  padding: 109px 0 78px;
}

#top_banner li {
  width: 310px;
  float: left;
  margin-right: 25px;
}

#top_banner li:last-child {
  margin: 0;
  float: right;
}

#top_news .more {
  width: 310px;
  margin: 30px auto 0;
}

.top_bnr_wrap {
  margin: 50px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 50px;
  clear: both;
}

.bnr_size_full,
.bnr_size_full picture,
.bnr_size_full img{
  width:100%;
  max-width:100%;
}

/* ============================================
how
============================================ */
/* nav */
#how_nav {
  margin-bottom: 100px;
}

#how_nav .p1 {
  line-height: 1.6;
  font-size: 20px;
  text-align: center;
  margin-bottom: 30px;
}

#how_nav .p2 {
  line-height: 1.6;
  font-size: 34px;
  text-align: center;
  margin-bottom: 36px;
  font-weight: bold;
}

#how_nav .p3 {
  width: 140px;
  margin: 0 auto 48px;
}

#how_nav .flow_link {
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #b0b0b0;
}

#how_nav .flow_link li {
  float: left;
  width: 163px;
  height: 130px;
  text-align: center;
}

#how_nav .flow_link li .num {
  display: block;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 9px;
}

#how_nav .flow_link li .num + span {
  display: inline-block;
  vertical-align: middle;
  min-height: 80px;
  font-size: 18px;
  line-height: 1.4;
  background: url(../img/how/arr.png) no-repeat center 90%;
  background-size: 20px;
}

#how_nav .flow_link li a:hover .num + span {
  background: url(../img/how/arr_hover.png) no-repeat center 90%;
  background-size: 20px;
}

#how_nav .flow_link li:nth-child(n+5) .num + span {
  padding-top: 10px;
}

#how_nav .flow_link li a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #000000;
  display: block;
  height: 100%;
  padding-top: 10px;
}

#how_nav .flow_link li a:hover {
  text-decoration: none;
  color: #fff;
}

#how_nav .flow_link li:nth-child(even) a {
  background-color: #eeeeee;
}

#how_nav .flow_link li:nth-child(odd) a:hover {
  background-color: #51a679;
}

#how_nav .flow_link li:nth-child(even) a:hover {
  background-color: #408f65;
}

#how_nav .flow_link li:nth-child(4) a {
  position: relative;
  font-family: 'HGS明朝E', 'ヒラギノ明朝 Pro W3', 'ＭＳ 明朝', serif;
  background-image: url(../img/how/bg_off.png);
  background-position: center center;
}

#how_nav .flow_link li:nth-child(4) a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../img/how/bg_on.png);
  background-position: center center;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#how_nav .flow_link li:nth-child(4) a:hover:before {
  opacity: 1;
}

#how_nav .flow_link li:nth-child(4) span {
  display: block;
}

#how_nav .flow_link li:nth-child(4) .num + span {
  padding-top: 11px;
  padding-bottom: 36px;
  font-size: 24px;
  line-height: 1.2;
}

/* how_flow_box */
.how_flow_box .bg_w,
.how_flow_box .bg_g,
.how_flow_box .bg_y {
  overflow: hidden;
  padding: 100px 0 97px;
}

.how_flow_box .bg_g {
  background: #eee;
}

.how_flow_box .bg_y {
  background: #d4f5df;
}

.how_flow_box .flow_title {
  line-height: 1.4;
  font-size: 24px;
  margin-bottom: 12px;
  padding-bottom: 20px;
  position: relative;
}

.how_flow_box .flow_title .num {
  padding: 0 10px;
  position: absolute;
  left: 25px;
  height: 100%;
  font-weight: bold;
  font-size: 30px;
  color: #fff;
  background: #b0b0b0;
}

.how_flow_box .flow_title .num:after {
  content: "";
  position: absolute;
  top: 0;
  left: -5px;
  width: 1px;
  height: 100%;
  background: #b0b0b0;
}

.how_flow_box .flow_title .hl_txt {
  padding: 5px 0 12px 85px;
  border-bottom: 1px solid #b0b0b0;
}

.how_flow_box .pd_box,
.how_flow_box .main_text {
  padding-left: 25px;
}

.how_flow_box .pd_box {
  padding-right: 25px;
}

.how_flow_box .ps_l {
  float: left;
  width: 47%;
}

.how_flow_box .ps_r {
  float: right;
  width: 47%;
}

#flow03 .flow_title {
  margin-bottom: 20px;
}

#flow04 .opening_title {
  position: relative;
  text-align: center;
  margin-bottom: 30px;
}

#flow04 .opening_title:after {
  position: absolute;
  display: block;
  content: "";
  background: #d8d8d8;
  top: 50%;
  height: 1px;
  width: 100%;
  z-index: 1;
}

#flow04 .opening_title .hl_txt {
  display: inline-block;
  background: #fff;
  position: relative;
  z-index: 2;
  font-size: 34px;
  font-weight: bold;
  padding: 0 30px;
}

#flow04 .opening_title .hl_txt .bg1 {
  display: inline-block;
  background: url(../img/how/ico01.png) left center no-repeat;
  background-size: 28px auto;
  padding-left: 40px;
}

#flow04 .opening_title .hl_txt .bg2 {
  display: inline-block;
  background: url(../img/how/ico02.png) right center no-repeat;
  background-size: 28px auto;
  padding-right: 40px;
}

#flow04 .text1,
#flow04 .text2 {
  text-align: center;
}

#flow04 .text1 {
  margin-bottom: 20px;
}

#flow04 .text1 {
  font-size: 18px;
}

.how_immigration_box {
  border: 1px solid #b0b0b0;
  padding: 60px;
}

.how_immigration_box .hl_imm {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 40px;
}

.how_immigration_box .imm_link li {
  overflow: hidden;
}

.how_immigration_box .imm_link li + li {
  margin-top: 20px;
}

.how_immigration_box .imm_link .imm_text1 {
  border-left: 10px solid #b0b0b0;
  padding: 5px 0 5px 10px;
  float: left;
  width: 380px;
  line-height: 1.875;
  margin-top: 10px;
}

.how_immigration_box .imm_link .imm_btn1 a {
  float: right;
}

.how_immigration_box .imm_link .imm_btn1 img {
  width: 446px;
}

#flow_contact {
  padding-top: 100px;
  text-align: center;
}

#flow_contact .p1 {
  font-size: 24px;
  margin-bottom: 20px;
}

#flow_contact .p2 {
  width: 100%;
  max-width: 487px;
  margin: 0 auto 30px;
  font-size: 40px;
}

#flow_contact .p3 {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

/* ============================================
support/trial
============================================ */
.u_box {
  margin-bottom: 100px;
}

.u_box .c_pd {
  margin-top: 30px;
}

.u_box .txt_area {
  padding: 0 20px;
}

.u_box .ps_l {
  float: left;
  width: 49%;
}

.u_box .ps_r {
  float: right;
  width: 49%;
}

/* trial */
#trial_about .gallery_area {
  margin-bottom: 40px;
}

#trial_about .info_area li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 5px;
  line-height: 23.8px;
}

#trial_about .gallery_area .mainimg {
  position: relative;
  padding-bottom: 61.628%;
  /* 画像の比率は固定 */
}

#trial_about .gallery_area .mainimg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#trial_about .gallery_area .subimg {
  overflow: hidden;
  margin-top: 10px;
}

#trial_about .gallery_area .subimg li {
  float: left;
  width: 200px;
  margin: 0 20px 20px 0;
}

#trial_about .gallery_area .subimg li:nth-child(4n) {
  margin-right: 0;
}

#trial_about .gallery_area .subimg li:nth-child(4n+1) {
  clear: both;
}

#trial_about .gallery_area .subimg img {
  opacity: 0.3;
}

#trial_about .gallery_area .subimg li a {
  display: block;
  background: #000;
}

#trial_about .gallery_area .subimg .click_on img {
  opacity: 1;
}

#trial_about .map_area {
  clear: both;
  padding-top: 45px;
}

#trial_about .map_area span {
  padding-left: 30px;
}

#trial_about .map_area iframe {
  width: 100%;
  height: 445px;
}

#trial_about .list1 {
  overflow: hidden;
  padding-top: 50px;
  margin-bottom: 100px;
}

#trial_about .list1 li {
  width: 46.5%;
}

#trial_about .list1 li:nth-child(odd) {
  float: left;
  clear: both;
}

#trial_about .list1 li:nth-child(even) {
  float: right;
}

.addtrial_hl_txt1 .in_bg {
  display: block;
  margin-bottom: 5px;
  font-size: 20px;
  background: #e5e5e5;
  padding: 10px 20px;
}

.addtrial_hl_txt1 {
  border-bottom: 1px solid #b0b0b0;
  margin-bottom: 20px;
}

#trial_heso {
  margin-top: -110px;
  padding-top: 110px;
  margin-bottom: 98px;
}

#trial_minde {
  margin-top: -110px;
  padding-top: 110px;
}

/* support */
#support_chance {
  margin-bottom: 85px;
}

#support_chance .head_chance_supp {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 35px;
}

#support_chance .text_chance_supp1 {
  text-align: center;
  font-size: 20px;
  line-height: 2;
}

#support_chance .text_chance_supp1 .pc_br {
  display: block;
}

.support_table {
  clear: both;
  padding-top: 46px;
}

.support_table table {
  width: 100%;
  min-width: 860px;
}

.support_table table th {
  font-size: 16px;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 5px;
  box-sizing: border-box;
}

.support_table ul {
  margin-top: 0.5em;
  line-height: 1.4;
}

.support_table li {
  margin-bottom: 0.5em;
  text-indent: -1em;
  padding-left: 1em;
}

.support_table table th:last-child {
  border-right: 1px solid #c7c7c7;
}

.support_table table tr:last-child th {
  border-bottom: 1px solid #757575;
}

.support_table table td {
  padding: 7px 20px;
  vertical-align: middle;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  width: 43%;
  box-sizing: border-box;
}

.support_table.cel3 table td {
  width: 28%;
}

.support_table table .bg_b {
  background: #757575;
  color: #fff;
  width: 14%;
}

.support_table table .bg_g {
  background: #c7c7c7;
}

#support_emigration {
  margin-bottom: 0;
}

#support_emigration .support_table {
  margin-bottom: 50px;
}

#support_emigration .support_table .bg_b {
  background: #13653a;
}

#support_emigration .support_table .bg_g {
  background: #75b68a;
  color: #fff;
}

#support_emigration p > a {
  text-decoration: underline;
  word-break: break-all;
}

#support_emigration p > a:hover {
  text-decoration: none;
}

/* ============================================
company
============================================ */
#company_area ul {
  overflow: hidden;
}

#company_area ul li {
  float: left;
  width: 31.6%;
  margin: 0 2.6% 23px 0;
}

#company_area ul li:nth-child(3n) {
  float: right;
  margin-right: 0;
}

#company_area ul li:nth-child(3n+1) {
  clear: both;
}

#company_area .ttl1 {
  margin-bottom: 25px;
}

.company_comment {
  text-align: center;
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 30px;
}

.company_list li {
  position: relative;
  padding: 15px;
}


.company_list li:before,
.company_list li:after {
  content: "";
  box-sizing: border-box;
  height: 100%;
  width: 1px;
  border-left: 2px solid #959595;
  display: block;
  position: absolute;
  top: 0;
}

.company_list li:before {
  left: 30px;
  z-index: 2;
}

.company_list li:after {
  right: 29px;
}

.company_list li a {
  display: block;
  background: #E7E7E7;
  padding: 8px;
  transition: background 0.5s;
  font-weight: bold;
  line-height: 1.6;
}

.company_list li a:before,
.company_list li a:after {
  content: "";
  box-sizing: border-box;
  width: 100%;
  height: 1px;
  border-bottom: 2px solid #959595;
  display: block;
  position: absolute;
  left: 0;
}

.company_list li a:before {
  top: 30px;
  z-index: 2;
}

.company_list li a:after {
  bottom: 29px;
}

.company_list li .name {
  display: grid;
  align-items: center;
  text-align: center;
  height: 80px;
  position: relative;
}

.company_list li .name:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 4px;
  right: -7px;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-bottom: 20px solid #959595;
  border-top: 0;
  transform: rotate(135deg);
}

.company_list li a:hover {
  text-decoration: none;
  background: #75B68B;
}

.company_list li a:hover .name:before {
  border-bottom: 20px solid #024826;
}

.company_list li a:hover img {
  opacity: 1;
}

.company_list li:hover:after,
.company_list li a:hover:after,
.company_list li:hover:before,
.company_list li a:hover:before {
  border-color: #024826;
}

/* ============================================
company_detail
============================================ */
.c_interview {
  margin-bottom: 45px;
  overflow: hidden;
}

.c_interview .ps_l {
  float: left;
  width: 48%;
}

.c_interview .ps_r {
  float: right;
  width: 48%;
}

.c_interview .ps_l .c_pd {
  padding-right: 0;
}

.c_about {
  margin: 90px auto 100px;
}

.c_about .about_box {
  display: table;
  width: 100%;
  margin-bottom: 20px;
}

.c_about .about_box dt,
.c_about .about_box dd {
  font-size: 18px;
  line-height: 1.6;
  display: table-cell;
  vertical-align: middle;
}

.c_about .about_box dt {
  text-align: center;
  background: #858585;
  color: #fff;
  padding: 3px 0 4px;
  width: 25.5%;
}

.c_about .about_box dd {
  padding: 3px 0 4px 18px;
  width: 74.5%;
}

.c_voice {
  height: 500px;
  margin: 100px 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover !important;
}

.c_voice .title_txt {
  margin-bottom: 40px;
  display: inline-block;
  text-align: left;
}

.c_voice .title_txt img {
  width: 50%;
}

.c_voice .profile dt,
.c_voice .profile dd {
  display: table-cell;
  vertical-align: top;
  line-height: 1.6;
}

.c_voice .profile dt {
  padding: 5px 39px 0 0;
  position: relative;
}

.c_voice .profile dt:after {
  content: "";
  position: absolute;
  top: 9px;
  right: 0;
  width: 1px;
  height: 50px;
  background: #fff;
}

.c_voice .profile dd {
  padding: 5px 0 0 35px;
}

.c_voice .profile .name {
  display: block;
}

.c_voice .profile .name {
  font-size: 30px;
  line-height: 1.3;
}

.c_voice.tx_w .profile dt,
.c_voice.tx_w .profile dd {
  color: #fff;
}

.c_voice.tx_w .profile dt:after {
  background: #fff;
}

.c_voice {
  position: relative;
}

.c_voice .c_inner {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.c_voice_inner {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  display: inline-block;
  padding: 40px;
  margin-top: 80px;
}

.c_voice .title_txt {
  font-weight: bold;
  font-size: 34px;
}

.page_voice_abs,
.page_voice_abs img {
  object-fit: cover;
  width: 100%;
  height: 500px;
}


/* ============================================
contact
============================================ */
#contact_mail .p1 {
  line-height: 1.8;
  margin-bottom: 45px;
}

#contact_mail .req {
  color: #ff0000;
}

#contact_tel {
  padding-top: 74px;
  margin-top: 10px;
}

#contact_tel .p1 {
  font-size: 24px;
  margin-bottom: 15px;
}

#contact_tel .p2 {
  width: 100%;
  max-width: 487px;
  font-size: 40px;
}

.form_area input[type="text"],
.form_area input[type="email"],
.form_area .size_s input[type="button"],
.form_area textarea,
.form_area select,
.form_area .submit input {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #aaa;
  padding: 1px 4px;
  font-size: 18px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.form_area .submit input {
  -webkit-appearance: none;
  border: none;
  cursor: pointer;
  max-width: 250px;
  padding: 17px 10px;
  background: #fff;
  border: 5px solid #b0b0b0;
  font-size: 18px;
  margin: 5px;
}

.form_area textarea {
  resize: vertical;
  height: 320px;
  min-height: 320px;
}

.form_area dl {
  font-size: 18px;
  padding-bottom: 19px;
  margin: 0 auto 20px;
  display: table;
  width: 90%;
  border-bottom: 1px dotted #B2B2B2;
}

.form_area dl.ls {
  border-bottom: none;
  margin-bottom: 24px;
}

.form_area dt {
  margin-bottom: 10px;
  padding: 5px 8px;
  border-left: 10px solid #B2B2B2;
  display: table-cell;
  vertical-align: top;
  width: 28.5%;
}

.form_area dt .req {
  padding-left: 7px;
}

.form_area dd {
  display: table-cell;
  vertical-align: middle;
  width: 71.5%;
}

.form_area dt .error {
  padding-top: 5px;
}

.form_area .submit {
  text-align: center;
}

/* ============================================
news
============================================ */
/* archive */
.article_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-row-gap: 10px;
}

.article_list a {
  padding: 10px;
  display: block;
}


.article_list a:hover,
.detail_pager a:hover {
  text-decoration: none;
  background: #eee;
}

.article_list .thumbnail {
  text-align: center;
}

.article_list .day,
.article_detail .day {
  display: block;
  padding: 10px 0;
}

.article_list .article_title {
  font-weight: bold;
  margin: 0 0 10px;
  line-height: 1.4;
}

.article_list .content {
  margin: 0 0 10px;
  line-height: 1.4;
}

.article_detail .cg_wrap {
  margin-bottom: 40px;

}

.article_detail .cg_wrap li,
.article_list .cg_wrap li {
  display: inline-block;
  padding: 4px 6px;
  margin: 0 8px 5px 0;
  font-size: 14px;
  font-weight: bold;
}

/* list_pagenavi */
.wp-pagenavi {
  text-align: center;
  margin-top: 30px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  font-weight: bold;
  display: inline-block;
  padding: 5px 7px;
  margin: 0 5px;
  background: #fff;
  border: 1px solid #b0b0b0;
  color: #000;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  border: 2px solid #b0b0b0;
}

.wp-pagenavi a:hover {
  background: #b0b0b0;
  text-decoration: none;
}

/* detail */
.article_detail .title {
  line-height: 1.5;
  font-weight: bold;
  font-size: 24px;
  word-break: break-all;
  margin-bottom: 20px;
}

.article_detail .bg {
  margin-bottom: 20px;
}

.article_detail .category {
  width: 90%;
  position: relative;
}

.article_detail .day {
  width: 10%;
}

/* detail_pager */
.detail_pager {
  overflow: hidden;
  text-align: center;
  margin: 30px auto 0;
}

.detail_pager span {
  width: 90px;
  height: 40px;
  display: block;
}

.detail_pager a {
  display: inline-block;
  padding: 10px 5px;
  width: 90px;
  background: #fff;
  border: 2px solid #b0b0b0;
  color: #000;
}

.detail_pager .prev a:before {
  content: "\25C0";
  padding-right: 10px;
}

.detail_pager .next a:after {
  content: "\25B6";
  padding-left: 10px;
}

.detail_pager .prev {
  float: left;
}

.detail_pager .next {
  float: right;
}

a.roll {
  display: block;
  background-size: 100% 100%;
}

body.is_pc a.roll:hover img {
  opacity: 0;
}


/* ふるさと納税 */

.category-list {
  display: flex;
  margin: 0 0 72px;
  flex-wrap: wrap;
}

.category-list li {
  margin: 0 10px;
  font-size: 18px;
  border-bottom: 1px solid;
}

.category-list li a {
  transition: background 0.5s;
  display: inline-block;
  padding: 2px;
}

.category-list li a:hover {
  text-decoration: none;
  background: #eded6d;
}


.kigyou_furusato_catch .p1 {
  line-height: 1.6;
  font-size: 34px;
  text-align: center;
  margin-bottom: 36px;
  font-weight: bold;
}

.kigyou_furusato_catch .p2 {
  line-height: 1.6;
  font-size: 20px;
  text-align: center;
  margin-bottom: 100px;
}

.c_hl03-2 {
  font-size: 20px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  margin-bottom: 16px;
  line-height: 1.6;
}

.c_hl03-2::before {
  content: "";
  display: inline-block;
  width: 12px;
  min-width: 12px;
  aspect-ratio: 1/1;
  background-color: #000000;
  margin-top: 0.5em;
}

.kigyou_furusato_furusato .textcenter {
  display: flex;
}

.kigyou_furusato_furusato .attention {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 10px;
  align-items: center;
  border: 1px solid #B1B2B2;
  padding: 14px;
}

.kigyou_furusato_furusato .attention_ttl {
  text-align: center;
  font-size: 20px;
}

.kigyou_furusato_furusato .attention_txt {
  padding-left: 25px;
  border-left: 2px solid #B1B2B2;
}

.kigyou_furusato_merit .merit {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.kigyou_furusato_merit .merit_item {
  background-color: #F5F5F5;
  padding: 25px 20px 20px;
  display: grid;
  justify-items: center;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 5px;
}

.kigyou_furusato_merit .merit_icon {
  width: 140px;
  aspect-ratio: 1/1;
}

.kigyou_furusato_merit .merit_txt {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: calc(26/20);
  display: flex;
  align-items: center;
}

.kigyou_furusato_donation .content {
  display: grid;
  gap: 40px 50px;
  grid-template-columns: repeat(6, 1fr);
}

.kigyou_furusato_donation .content_item {
  display: grid;
  grid-template-columns: 46% 1fr;
  gap: 40px;
  align-items: flex-start;
}

.kigyou_furusato_donation .content_item._row {
  grid-template-columns: 1fr;
  gap: 20px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}

.kigyou_furusato_donation .content_item:nth-child(1) {
  grid-column: 1/7;
}

.kigyou_furusato_donation .content_item:nth-child(2) {
  grid-column: 1/7;
}

.kigyou_furusato_donation .content_item:nth-child(3) {
  grid-column: 1/3;
}

.kigyou_furusato_donation .content_item:nth-child(4) {
  grid-column: 3/5;
}

.kigyou_furusato_donation .content_item:nth-child(5) {
  grid-column: 5/7;
}

.kigyou_furusato_donation .content_item:nth-child(6) {
  grid-column: 1/3;
}

.kigyou_furusato_donation .content_item:nth-child(7) {
  grid-column: 3/5;
}

.kigyou_furusato_donation .content_item:nth-child(8) {
  grid-column: 5/7;
}

.kigyou_furusato_donation .content_ttl {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 20px;
}

.kigyou_furusato_donation .content_ttl .number {
  width: 24px;
  aspect-ratio: 1/1;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  padding-top: 2px;
  margin-top: 1px;
}

.kigyou_furusato_donation .content_ttl .title {
  font-size: 20px;
  line-height: calc(26/20);
}

.kigyou_furusato_donation .content_body {
  display: flex;
}

.kigyou_furusato_donation .content_body img {
  width: 100%;
}

.kigyou_furusato_contact .contact {
  display: grid;
  grid-template-columns: 179px 1fr;
  gap: 20px;
  align-items: center;
  border: 1px solid #B1B2B2;
  padding: 16px 30px;
  max-width: 715px;
}

.kigyou_furusato_contact .contact_ttl {
  font-size: 20px;
  line-height: calc(26/20);
}

.kigyou_furusato_contact .contact_txt {
  padding-left: 54px;
  border-left: 2px solid #B1B2B2;
  font-size: 34px;
}

.kigyou_furusato_contact .contact_txt a {
  pointer-events: none;
}


/* 20250327 */
.full_bnr {
  margin-block-end: 25px;
  opacity: 1;
  transition: opacity 0.3s;
}

.full_bnr:hover {
  opacity: 1;
}


.btn_link_wrap {
  text-align: center;
}

.btn_link {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  font-size: 18px;
  font-weight: 400;
  background: #e5e5e5;
  padding: 26px 30px;
  min-width: 280px;
  transition: all 0.5s;
  text-align: center;
  margin: 0 8px;
}

.btn_link._white {
  background: #ffffff;
}

.btn_link._w420 {
  width: 100%;
  max-width: 420px;
}


.btn_link .ill1:after,
.btn_link:after,
.btn_link .ill1:before,
.btn_link:before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.5s;
}

.btn_link .ill1:after,
.btn_link:after {
  width: calc(100% + 16px);
  height: 1px;
  border-top: 1px solid #959595;
  left: -8px;
}

.btn_link .ill1:before,
.btn_link:before {
  height: calc(100% + 16px);
  width: 1px;
  border-left: 1px solid #959595;
  top: -8px;
}

.btn_link:after {
  top: 8px;
}

.btn_link .ill1:after {
  bottom: 7px;
}

.btn_link:before {
  left: 8px;
}

.btn_link .ill1:before {
  right: 7px;
}

.btn_link .ill2 {
  display: block;
  position: absolute;
  bottom: -5px;
  right: -5px;
  border-top: 14px solid #959595;
  border-right: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 14px solid transparent;
  transform: rotate(-45deg);
  transition: all 0.5s;
}

.btn_link_ico_mail {
  vertical-align: middle;
  width: 30px;
  height: auto;
  margin: 0 8px 0 0;
  padding: 0 0 4px;
}


.btn_link._bnr {
  background: #C9C9C9;
  line-height: 1.4;
  font-size: 22px;
  font-weight: bold;
  margin: 0;
}

.btn_link._bnr .big {
  display: block;
  font-size: 40px;
}


.btn_link:hover {
  text-decoration: none;
}

@media only screen and (min-width:641px) {
  .btn_link:hover {
    background: #75B68B;
  }

  .btn_link:hover .ill2 {
    border-top: 14px solid #024826;
  }

  .btn_link._bnr:hover .ill2 {
    border-top: 24px solid #024826;
  }

  .btn_link:hover .ill1:after,
  .btn_link:hover:after,
  .btn_link:hover .ill1:before,
  .btn_link:hover:before {
    border-color: #024826;
  }

  .btn_link._bnr .icon {
    margin-top: -40px;
  }

  .btn_link._bnr .ill2 {
    bottom: -8px;
    right: -8px;
    border-top: 24px solid #959595;
    border-right: 24px solid transparent;
    border-bottom: 24px solid transparent;
    border-left: 24px solid transparent;
  }

  .btn_link._bnr .ill1:after,
  .btn_link._bnr:after {
    width: calc(100% + 32px);
    left: -16px;
  }

  .btn_link._bnr .ill1:before,
  .btn_link._bnr:before {
    height: calc(100% + 32px);
    top: -16px;
  }

  .btn_link._bnr:after {
    top: 16px;
  }

  .btn_link._bnr .ill1:after {
    bottom: 15px;
  }

  .btn_link._bnr:before {
    left: 16px;
  }

  .btn_link._bnr .ill1:before {
    right: 15px;
  }
}

@media only screen and (min-width:641px) {
  .u_sp {
    display: none !important;
  }

  .flexslider {
    margin: 0 -120px !important;
  }
}


@media only screen and (max-width:1500px) {
  .top_visual .bg_area img {
    width: auto;
  }
  .top_visual .bg_area {
    position: relative;
    left: 50%;
    margin-left: -750px;
  }
}
