@charset "UTF-8";
/*
extra css name: css-template
for template: page
Author: wp.theme.builder.01
*/
/* ---------- カスタムプロパティ宣言 ---------- */
:root {
  --site-width: 1000px;
  --site-width-padding: 40px;
  --scroll-bar-width: 17px;
  --site-width-media-query: 1057px;
  --font-family-theme: "Poppins";
  --font-family-theme2: "Noto Sans JP";
  --semi-bold: 700;
  --extra-bold: 700;
  --bold: 700;
  --color-default: #222;
  --color-theme: #366caa;
  --color-theme2: #e60012;
  --color-theme3: #044795;
  --color-theme4: ;
  --color-white: #fff;
  --color-red: #d93600;
  --color-gray: #999;
  --color-light-gray: #ccc;
  --color-extra-light-gray: #eee;
}

/* ---------- フォントファミリー ---------- */
html,
button,
input,
select,
textarea {
  font-family: var(--font-family-theme), var(--font-family-theme2), -apple-system, BlinkMacSystemFont, Geneva, Arial, Helvetica, "Yu Gothic", YuGothic, Meiryo, sans-serif;
}

.slug,
.span-slug {
  font-family: -apple-system, BlinkMacSystemFont, Geneva, Arial, Helvetica, sans-serif;
  font-family: "Poppins", sans-serif;
}

.span-mincho {
  font-family: "Yu Mincho", Yu Mincho, serif;
}

.font-family-theme {
  font-family: var(--font-family-theme);
}

.font-family-theme2 {
  font-family: var(--font-family-theme2);
}

/* ---------- ベースサイズ（rem % 指定） ---------- */
html {
  /* ---------- 
  font-size: 5.46875%;
  font-size: 6.25%;
  ---------- */
  font-size: 5.859375%;
}

body {
  font-size: 16rem;
}

.sidebar {
  font-size: 14rem;
}

@media (min-width: 769px) {
  html {
    font-size: 6.25%;
  }
}
/* ---------- 見出し ---------- */
.size-huge {
  font-size: 28rem;
}

span.size-huge {
  font-size: 200%;
}

h1,
.size-h1 {
  font-size: 26rem;
}

h2,
.size-h2 {
  font-size: 22rem;
}

h3,
.size-h3 {
  font-size: 19rem;
}

h4,
.size-h4 {
  font-size: 18rem;
}

h5,
.size-h5 {
  font-size: 17rem;
}

h6,
.size-h6 {
  font-size: 16rem;
}

@media (min-width: 769px) {
  .size-huge {
    font-size: 48rem;
  }
  h1,
  .size-h1 {
    font-size: 36rem;
  }
  h2,
  .size-h2 {
    font-size: 30rem;
  }
  h3,
  .size-h3 {
    font-size: 24rem;
  }
  h4,
  .size-h4 {
    font-size: 20rem;
  }
  h5,
  .size-h5 {
    font-size: 18rem;
  }
  h6,
  .size-h6 {
    font-size: 16rem;
  }
}
/* ---------- パートサイズ ---------- */
span.large {
  font-size: 125%;
}

small,
.small,
span.notes,
span.attention {
  font-size: 12rem;
}

.breadcrumbs {
  font-size: 12rem;
}

.page-type-title-container .page-type-title .slug {
  font-size: 50%;
}

.loop-content p.date,
.taglist {
  font-size: 13rem;
}

.loop-content .entry-title {
  font-size: 16rem;
}

.display-text .loop-content p.date,
.display-text .loop-content .entry-title {
  font-size: 16rem;
  line-height: 1.7;
}

.loop-content .archive-content {
  font-size: 14rem;
}

.btn-m {
  font-size: 14rem;
}

.btn-l {
  font-size: 16rem;
}

.btn-xl {
  font-size: 18rem;
}

.taglist-container .taglist {
  font-size: 12rem;
}

.wp-tag-cloud li a {
  font-size: 12rem !important;
}

.site-footer > * {
  font-size: 14rem;
}

#footer-copy,
#footer-lp {
  font-size: 13rem;
  text-align: center;
}

/* ---------- フォントウェイト ---------- */
html {
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--bold);
}

.size-huge,
.size-h1,
.size-h2,
.size-h3,
.size-h4,
.size-h5,
.size-h6 {
  /* ---------- 
  font-weight: 400;
  ---------- */
}

.loop-content .entry-title {
  font-weight: var(--semi-bold);
}

.page-type-title-slug {
  font-weight: var(--semi-bold);
}

.font-weight-semi-bold {
  font-weight: var(--semi-bold);
}

/* ---------- 行間 ---------- */
body {
  line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 30px;
}

header h1,
header h2,
header h3,
header h4,
header h5,
header h6,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
  margin-top: 0;
}

.size-huge,
.size-h1,
.size-h2,
.size-h3,
.size-h4,
.size-h5,
.size-h6 {
  margin-top: 0;
}

h1 + h1,
h1 + h2,
h1 + h3,
h1 + h4,
h1 + h5,
h1 + h6,
h2 + h1,
h2 + h2,
h2 + h3,
h2 + h4,
h2 + h5,
h2 + h6,
h3 + h1,
h3 + h2,
h3 + h3,
h3 + h4,
h3 + h5,
h3 + h6,
h4 + h1,
h4 + h2,
h4 + h3,
h4 + h4,
h4 + h5,
h4 + h6,
h5 + h1,
h5 + h2,
h5 + h3,
h5 + h4,
h5 + h5,
h5 + h6,
h6 + h1,
h6 + h2,
h6 + h3,
h6 + h4,
h6 + h5,
h6 + h6 {
  margin-top: 0;
}

h1 + .size-huge,
h1 + .size-h1,
h1 + .size-h2,
h1 + .size-h3,
h1 + .size-h4,
h1 + .size-h5,
h1 + .size-h6,
h2 + .size-huge,
h2 + .size-h1,
h2 + .size-h2,
h2 + .size-h3,
h2 + .size-h4,
h2 + .size-h5,
h2 + .size-h6,
h3 + .size-huge,
h3 + .size-h1,
h3 + .size-h2,
h3 + .size-h3,
h3 + .size-h4,
h3 + .size-h5,
h3 + .size-h6,
h4 + .size-huge,
h4 + .size-h1,
h4 + .size-h2,
h4 + .size-h3,
h4 + .size-h4,
h4 + .size-h5,
h4 + .size-h6,
h5 + .size-huge,
h5 + .size-h1,
h5 + .size-h2,
h5 + .size-h3,
h5 + .size-h4,
h5 + .size-h5,
h5 + .size-h6,
h6 + .size-huge,
h6 + .size-h1,
h6 + .size-h2,
h6 + .size-h3,
h6 + .size-h4,
h6 + .size-h5,
h6 + .size-h6,
.size-huge + h1,
.size-huge + h2,
.size-huge + h3,
.size-huge + h4,
.size-huge + h5,
.size-huge + h6,
.size-h1 + h1,
.size-h1 + h2,
.size-h1 + h3,
.size-h1 + h4,
.size-h1 + h5,
.size-h1 + h6,
.size-h2 + h1,
.size-h2 + h2,
.size-h2 + h3,
.size-h2 + h4,
.size-h2 + h5,
.size-h2 + h6,
.size-h3 + h1,
.size-h3 + h2,
.size-h3 + h3,
.size-h3 + h4,
.size-h3 + h5,
.size-h3 + h6,
.size-h4 + h1,
.size-h4 + h2,
.size-h4 + h3,
.size-h4 + h4,
.size-h4 + h5,
.size-h4 + h6,
.size-h5 + h1,
.size-h5 + h2,
.size-h5 + h3,
.size-h5 + h4,
.size-h5 + h5,
.size-h5 + h6,
.size-h6 + h1,
.size-h6 + h2,
.size-h6 + h3,
.size-h6 + h4,
.size-h6 + h5,
.size-h6 + h6,
.size-huge + .size-huge,
.size-huge + .size-h1,
.size-huge + .size-h2,
.size-huge + .size-h3,
.size-huge + .size-h4,
.size-huge + .size-h5,
.size-huge + .size-h6,
.size-1 + .size-huge,
.size-1 + .size-h1,
.size-1 + .size-h2,
.size-1 + .size-h3,
.size-1 + .size-h4,
.size-1 + .size-h5,
.size-1 + .size-h6,
.size-2 + .size-huge,
.size-2 + .size-h1,
.size-2 + .size-h2,
.size-2 + .size-h3,
.size-2 + .size-h4,
.size-2 + .size-h5,
.size-2 + .size-h6,
.size-3 + .size-huge,
.size-3 + .size-h1,
.size-3 + .size-h2,
.size-3 + .size-h3,
.size-3 + .size-h4,
.size-3 + .size-h5,
.size-3 + .size-h6,
.size-4 + .size-huge,
.size-4 + .size-h1,
.size-4 + .size-h2,
.size-4 + .size-h3,
.size-4 + .size-h4,
.size-4 + .size-h5,
.size-4 + .size-h6,
.size-5 + .size-huge,
.size-5 + .size-h1,
.size-5 + .size-h2,
.size-5 + .size-h3,
.size-5 + .size-h4,
.size-5 + .size-h5,
.size-5 + .size-h6,
.size-6 + .size-huge,
.size-6 + .size-h1,
.size-6 + .size-h2,
.size-6 + .size-h3,
.size-6 + .size-h4,
.size-6 + .size-h5,
.size-6 + .size-h6 {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.size-huge,
.size-h1,
.size-h2,
.size-h3,
.size-h4,
.size-h5,
.size-h6 {
  margin-bottom: 8px;
}

p,
ul,
ol,
dl,
blockquote,
table {
  line-height: 2;
}

p {
  margin: 0;
}

ul,
ol,
dl,
blockquote,
table {
  margin: 0.5em 0 0.5em 0;
}

.loop-content .archive-content,
.loop-content .archive-content p {
  line-height: 1.5;
}

.taglist a,
.wp-tag-cloud li {
  margin: 0 0.5em 0.5em 0;
}

.loop-content .archive-content p {
  margin-bottom: 0;
}

/* ---------- 先頭画像後 余白調整
p:first-child + h1, p:first-child + h2, p:first-child + h3, p:first-child + h4, p:first-child + h5, p:first-child + h6	{
	margin-top: 0;
	margin-bottom: 5px;
}
 ---------- */
/* ---------- カラー ---------- */
body,
body a,
.color-default {
  color: var(--color-default);
}

.color-theme {
  color: var(--color-theme);
}

.color-theme2 {
  color: var(--color-theme2);
}

.color-theme3 {
  color: var(--color-theme3);
}

.color-theme4 {
  color: var(--color-theme4);
}

.section-theme {
  padding: 1em;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  background-color: var(--color-theme);
}

.section-theme2 {
  padding: 1em;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  background-color: var(--color-theme2);
}

.section-theme3 {
  padding: 1em;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  background-color: var(--color-theme3);
}

.section-theme4 {
  padding: 1em;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
  background-color: var(--color-theme4);
}

.bgcolor-theme {
  background-color: var(--bgcolor-theme);
}

.bgcolor-theme2 {
  background-color: var(--bgcolor-theme2);
}

.color-in-bgcolor,
.color-in-bgcolor a {
  color: #fff;
}

.color-in-bgcolor a {
  text-decoration: underline;
}

.rounded-corners > img {
  border-radius: 1em;
}

.taglist a,
.wp-tag-cloud li a {
  color: var(--color-gray);
}

/* ---------- 表示／非表示 ---------- */
.page-type-title-icon {
  display: none;
}

.banner-text .parent-title + .self-title {
  /* ---------- 
  display: none;
  ---------- */
}

.page-child .parent-title {
  display: none;
}

.banner-text .parent-slug + .self-slug {
  /* ---------- 
  display: none;
  ---------- */
}

.page-child .parent-slug {
  display: none;
}

body:not(.attachment) .banner-text .archive-label {
  display: none;
}

.page-type-title-container .parent-title {
  display: none;
}

.page-type-title-container .parent-slug {
  display: none;
}

.page-posttype .page-type-title-container .posttype-label {
  display: none;
}

.page-posttype:not(.page-posttype-top) .page-type-title-container .posttype-label:after {
  content: "：";
}

.single .page-posttype:not(.page-posttype-top) .page-type-title-container .posttype-label:after {
  content: none;
}

.page-posttype-top .page-type-title-container .posttype-label,
.page-posttype-single .page-type-title-container .posttype-label {
  display: inline;
}

/* ---------- タグリスト ---------- */
.taglist a,
.wp-tag-cloud li a {
  color: var(--color-gray);
}

.taglist-container .taglist a {
  padding: 0.5em 0.75em;
  background-color: rgba(204, 204, 204, 0.2);
  background-color: var(--color-light-gray);
  border: none;
  border-radius: 0.5em;
}

.taglist-container .taglist a.current {
  color: #fff;
  background-color: var(--color-gray);
}

/* ---------- タグリストアイコン ---------- */
.taglist a:before {
  font-family: dashicons;
  content: "\f464";
  margin-right: 0.2em;
}

.taglist a.term-all:before {
  content: "\f480";
}

.taglist .tax-order-1 a:before {
  content: "\f318";
}

.taglist .tax-order-2 a:before {
  content: "\f323";
}

/* ---------- タグリスト（ショートコード） ---------- */
.taglist-container .taglist a,
.wp-tag-cloud li a {
  line-height: 1;
  padding: 0.5em;
  background-color: #fff;
  border: solid 1px #eee;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  border-radius: 0.2em;
}

.taglist-post-terms .taglist-tax + .taglist-tax {
  margin-left: 0.5em;
}

/* ---------- Q&A ---------- */
.article-qa .entry-title:before,
.article-qa .accordion-content .archive-content:before {
  font-size: 16rem;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  margin-right: 1em;
  border-radius: 9999px;
}

.article-qa .entry-title:before {
  content: "Q";
  background-color: #d90000;
}

.article-qa .accordion-content .archive-content {
  font-size: 16rem;
  padding-left: 2.5em;
  position: relative;
}

.article-qa .accordion-content .archive-content:before {
  content: "A";
  background-color: #006dd9;
  position: absolute;
  top: 0.2em;
  left: 0;
}

.accordion-container label {
  background: #e1eff7;
  border-radius: 5px;
}

.accordion-container input[type=checkbox] + label::after,
.accordion-container input[type=radio] + label::after {
  border-radius: 50%;
  border: solid 1px var(--color-theme3);
  color: var(--color-theme3);
  align-items: center;
  align-content: center;
  justify-content: center;
  padding: 5px 10px 3px 10px;
}

/* ---------- 表 ---------- */
table.table-plain th {
  font-weight: var(--semi-bold);
  text-align: left;
}

/* ---------- 追加ルール ---------- */
.btn a,
a.block-link .btn {
  background-color: var(--color-theme2);
}

.margin-top-row-0 {
  margin-top: 0;
}

.margin-top-row-1 {
  margin-top: 16rem;
}

.margin-bottom-row-0 {
  margin-bottom: 0;
}

.margin-bottom-row-1 {
  margin-bottom: 16rem;
}

.line-height-thin,
.line-height-thin + p {
  line-height: 1;
}

.have-margin-top {
  margin-top: 16rem;
}

.have-margin-bottom {
  margin-bottom: 16rem;
}

@media (min-width: 769px) {
  .have-margin-top {
    margin-top: 24rem;
  }
  .have-margin-bottom {
    margin-bottom: 24rem;
  }
}
/* ---------- ナビゲーション ---------- */
.sub-menu.active {
  display: block;
}

/* ---------- ハンバーガー ---------- */
#widget-header-logo-s img {
  width: 175px;
}

/* ---------- ハンバーガーアイコン ---------- */
#site-navigation-s .menu-toggle,
#site-navigation-s #hamburger-nav-toggle {
  background-color: var(--color-theme);
  background-image: url(../images/XXX/icon-ham-white.png);
  background-image: url(../images/icon-ham.png);
}

#site-navigation-s #hamburger-nav-toggle.open {
  background-color: var(--color-theme);
  background-image: url(../images/XXX/icon-ham-white-x.png);
  background-image: url(../images/icon-ham-white-x.png);
}

/* ---------- totop ---------- */
#page-top a {
  background-image: url(../images/XXX/totop.png);
  background-image: url(../images/totop.png);
}

/* ---------- フッター ---------- */
@media (min-width: 769px) {
  #footer-navigation.footer-nav-multi-item .inner {
    justify-content: flex-end;
  }
  #footer-navigation #footer-menu {
    margin-left: auto;
  }
  #footer-navigation #footer-menu + aside {
    margin-left: 4em;
  }
  .footer-nav .menu > li > a:before {
    content: none;
  }
  .footer-nav .sub-menu {
    display: block !important;
    margin-left: 0;
  }
  /* ---------- 段組み
  .footer-nav .menu	{
  	display: block;
  }
  .footer-nav #menu-footer	{
  	column-count: 2;
  	column-gap: 4em;
  }
  .footer-nav .menu > li + li	{
  	margin-left: 0;
  }
  .break-inside-avoid	{
  	break-inside: avoid;
  	display: flex;
  }
  .break-inside-avoid .sub-menu	{
  	font-size: 13rem;
  	margin-left: 1em;
  }
  ---------- */
}
.site-footer {
  padding: 0;
}

#footer-copy {
  padding: 5px 0;
  background: #000;
}

#footer-copy address {
  color: #fff;
}

/*------------header-----------*/
#top .site-main {
  padding-bottom: 0;
}

header .head_cap {
  font-size: 8px;
}

#header-logo-wrap .inner {
  padding-top: 5px;
  padding-bottom: 5px;
}

.view-wide.device-horizontal #site-navigation {
  height: 50px;
}

header #header-option1 {
  font-size: 18rem;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

header #header-option1 #text-7 {
  border-right: 1px solid #ccc;
  padding: 0px 10px;
}

header #header-option1 #text-7 .textwidget {
  display: flex;
  align-items: center;
  align-content: center;
}

header #header-option1 #text-7 .tel_num {
  font-size: 18rem;
  position: relative;
}

header #header-option1 #text-7 .tel_num::before {
  position: relative;
  left: 0px;
  top: 0px;
  content: "";
  background: url("../images/fc_pa/icon_tel.png");
  display: inline-block;
  background-size: 100%;
  width: 12px;
  height: 12px;
}

header #header-option1 #text-7 .uketuke {
  font-size: 12rem;
}

header #header-option1 #text-8 {
  padding: 0px 10px 0px 0;
  font-size: 12rem;
  text-decoration: underline;
}

header #header-option2 {
  font-size: 20rem;
  border-left: 1px solid #ccc;
}

header #navigation-menu {
  font-size: 14rem;
}

#site-navigation .nav-menu > li a {
  font-weight: bold;
}

#site-navigation .nav-menu {
  display: flex;
  align-items: center;
}

#site-navigation .nav-menu .nav-contact {
  color: #fff;
  background: var(--color-theme2);
  border-radius: 30px;
  margin: 0;
  padding: 10px 30px;
  position: relative;
}

#site-navigation .nav-menu .nav-contact a {
  color: #fff;
  padding: 0px;
}

#site-navigation .nav-menu .nav-contact:hover {
  background: var(--color-theme3);
}

#site-navigation .nav-menu .nav-contact::before {
  position: relative;
  left: 0px;
  top: 10px;
  content: "";
  background: url("../images/fc_pa/icon_mail_wh.png") no-repeat center center;
  background-size: 100%;
  width: 12px;
  height: 12px;
}

header .banner-text {
  text-align: left;
}

header .banner-text .top_catch {
  text-align: left;
  position: absolute;
  left: 10px;
  top: 25%;
}

header .banner-text .top_catch h2 {
  font-size: 55rem;
  font-family: "Poppins", sans-serif;
  line-height: 120%;
}

header .banner-text .top_catch h2 span {
  color: var(--color-theme3);
}

header .banner-text .top_catch h3 {
  font-size: 20rem;
}

#top .banner {
  background-size: auto 100%;
  padding: 50px 0;
}

@media (min-width: 769px) {
  header .banner-text .top_catch h2 {
    font-size: 70rem;
  }
  header .banner-text .top_catch {
    left: 0;
    top: 25%;
  }
  header .banner-text .top_catch h3 {
    font-size: 25rem;
  }
}
.top_message h2 .hd_en {
  font-size: 10rem;
  font-family: "Poppins", sans-serif;
}

.top_message h2 {
  font-size: 20rem;
  line-height: 140%;
  margin: 0px auto 10px auto;
}

.top_message .optionblock-main {
  max-width: 1200px;
  margin: 0px auto 10px auto;
}

.top_message p {
  font-weight: bold;
  line-height: 140%;
  margin: 0px 0px;
}

@media (min-width: 769px) {
  .top_message h2 {
    font-size: 30rem;
    line-height: 140%;
    margin: 0px auto 10px auto;
  }
  .top_message p {
    font-weight: bold;
  }
}
.top_service .flex .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top_service .flex .inner .flex_left {
  width: 100%;
  position: relative;
  background: url(/fc-partners/wp-content/uploads/2025/03/アセット-13.png) right top no-repeat;
  background-size: 50%;
}

.top_service h2 {
  font-size: 40rem !important;
  line-height: 100%;
  font-weight: 600;
  margin-bottom: 20px;
  padding-left: 15px;
  position: relative;
}

.top_service h2 .hd_cap {
  font-size: 12px;
  color: var(--color-theme2);
  position: relative;
}

.top_service h2 .hd_cap::before {
  position: absolute;
  left: -15px;
  top: 0px;
  content: "";
  background: url("../images/fc_pa/icon_earth_red.png");
  background-size: 100%;
  width: 15px;
  height: 15px;
}

.top_service .flex .inner .flex_right {
  width: 100%;
  height: 60px;
  position: relative;
  background: none;
}

.top_service .service_btn {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
}

.top_service .service_btn a {
  border-radius: 30px;
  padding: 20px 10px 20px 10px;
  font-size: 15rem;
  font-weight: bold;
}

.top_service .service_btn.btn a:before,
.top_service .service_btn.btn a:after {
  margin-left: 3rem;
  margin-right: 4rem;
}

.top_service .grid-columns-2 {
  gap: 10px;
}

.service_box {
  height: auto;
  min-height: 250px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.service_box h3 {
  color: #fff;
  font-size: 22rem;
  line-height: 160%;
}

.service_box h3 .en {
  font-size: 16rem;
  font-weight: 400;
}

.service_box p {
  color: #fff;
  position: absolute;
  bottom: 20px;
  left: 30px;
  width: 68%;
  line-height: 160%;
}

.service_box::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  background: url("../images/fc_pa/arrow01.png");
  background-size: 100%;
  position: absolute;
  right: 20px;
  bottom: 15px;
  z-index: 1;
}

.service_box:hover {
  filter: brightness(1.2);
}

@media (min-width: 769px) {
  .top_service .flex .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  .top_service .flex .inner .flex_left {
    width: 45%;
    position: relative;
    background: none;
  }
  .top_service .flex .inner .flex_right {
    width: 45%;
    min-height: 160px;
    background: url(/fc-partners/wp-content/uploads/2025/03/アセット-13.png) left top no-repeat;
    background-size: 50%;
  }
  .top_service .grid-columns-2 {
    gap: 40px;
  }
  .top_service .service_btn {
    margin: 0px 0px 0px auto;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .top_service .service_btn a {
    border-radius: 30px;
    padding: 20px 30px 20px 30px;
    font-size: 15rem;
    font-weight: bold;
  }
  .service_box {
    height: 358px;
    border-radius: 30px;
    position: relative;
  }
  .service_box p {
    color: #fff;
    position: absolute;
    bottom: 20px;
    left: 30px;
    width: 75%;
    line-height: 160%;
  }
}
.fc-child.have-bg,
.fc-child-inner.have-bg,
.fc-grid-content.have-bg {
  padding: 2em;
}

#bottom-banner {
  background: #044795;
  padding: 20px 0;
  margin: 0px auto;
  position: relative;
}

#bottom-banner h2 {
  color: #fff;
  padding-left: 15px;
  font-size: 50rem;
  line-height: 100%;
}

#bottom-banner h2 .hd_cap {
  font-size: 14px;
  position: relative;
}

#bottom-banner h2 .hd_cap::before {
  position: absolute;
  left: -15px;
  top: 2px;
  content: "";
  background: url("../images/fc_pa/icon_earth_wh.png");
  background-size: 100%;
  width: 15px;
  height: 15px;
}

#bottom-banner .textwidget {
  position: relative;
  z-index: 1;
}

#text-5 > div > div > p {
  color: #fff;
}

#bottom-banner .contact_flex {
  background: #fff;
  border-radius: 30px;
  display: flex;
  justify-content: space-between;
  margin: 20px auto 15px auto;
  padding: 20px 20px;
  flex-wrap: wrap;
  position: relative;
}

#bottom-banner .contact_flex .contact_left {
  width: 100%;
  margin-bottom: 10px;
}

#bottom-banner .contact_flex .contact_left .contact_circle {
  display: flex;
  justify-content: space-between;
  margin: 0px auto;
}

#bottom-banner .contact_flex .contact_left .contact_circle li {
  width: 32%;
  background: var(--color-theme2);
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 120%;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  height: auto;
  padding: 25px 0;
}

#bottom-banner .contact_flex .contact_left p {
  text-align: center;
  line-height: 160%;
  margin: 10px auto 0 auto;
  font-weight: 500;
}

#bottom-banner .contact_flex .contact_right {
  width: 100%;
}

#bottom-banner .map_img {
  width: 47%;
  position: absolute;
  right: 0;
  top: 10px;
  z-index: -1;
}

#bottom-banner .map_img img {
  width: 100%;
}

#bottom-banner .contact_bottom {
  background: #eae9e8;
  border-radius: 20px;
  padding: 10px 20px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

#bottom-banner .contact_bottom .contact_tel {
  width: 74%;
  position: relative;
  line-height: 200%;
  padding-left: 20px;
  font-weight: 600;
  margin-right: 5px;
}

#bottom-banner .contact_bottom .contact_tel span {
  font-size: 30rem;
  font-weight: 600;
}

#bottom-banner .contact_bottom .contact_tel span::before {
  position: absolute;
  left: 0px;
  bottom: 8px;
  content: "";
  background: url("../images/fc_pa/icon_tel.png");
  background-size: 100%;
  width: 20px;
  height: 20px;
}

#bottom-banner .contact_bottom .contact_uketuke {
  width: 24%;
  line-height: 150%;
  font-size: 13rem;
}

#bottom-banner .mail_bottom {
  background: #fbe9e5;
  border-radius: 20px;
  padding: 20px;
  position: relative;
}

#bottom-banner .mail_bottom a {
  position: relative;
  padding-left: 20px;
  font-weight: 600;
}

#bottom-banner .mail_bottom a::before {
  position: absolute;
  left: 0px;
  top: 3px;
  content: "";
  background: url("../images/fc_pa/icon_mail.png") no-repeat;
  background-size: 100%;
  width: 20px;
  height: 15px;
}

#bottom-banner + .site-footer {
  margin-top: 0;
}

@media (min-width: 769px) {
  #bottom-banner .contact_flex {
    flex-wrap: nowrap;
    padding: 20px 50px;
    margin: 20px auto 50px 0px;
    width: 47%;
  }
  #bottom-banner h2 {
    padding-top: 80px;
    margin-bottom: 30px;
  }
  #bottom-banner .contact_flex .contact_left {
    margin-bottom: 0px;
  }
  #bottom-banner .contact_flex .contact_left p {
    margin: 20px auto 0 auto;
  }
  #bottom-banner .contact_flex .contact_left .contact_circle li {
    width: 30%;
    background: var(--color-theme2);
    border-radius: 50%;
    color: #fff;
    text-align: center;
    line-height: 120%;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    height: 105px;
  }
  #bottom-banner .contact_flex .contact_right {
    width: 60%;
  }
  #bottom-banner .textwidget {
    position: relative;
  }
  #bottom-banner .map_img {
    width: 47%;
    position: absolute;
    right: 0;
    top: 10px;
  }
  #bottom-banner .map_img img {
    width: 100%;
  }
  #bottom-banner .bottom_list {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    margin: 0px auto 50px auto;
  }
  #bottom-banner .contact_bottom {
    width: 49%;
    flex-wrap: nowrap;
    margin-bottom: 0px;
  }
  #bottom-banner .contact_bottom .contact_tel {
    width: 70%;
    position: relative;
    line-height: 200%;
    padding-left: 40px;
    font-weight: 600;
  }
  #bottom-banner .contact_bottom .contact_tel span {
    font-size: 34rem;
    font-weight: 600;
  }
  #bottom-banner .contact_bottom .contact_tel span::before {
    width: 30px;
    height: 30px;
  }
  #bottom-banner .contact_bottom .contact_uketuke {
    font-size: 14rem;
    width: 29%;
  }
  #bottom-banner .mail_bottom {
    width: 49%;
    padding: 30px 40px;
  }
  #bottom-banner .mail_bottom a {
    padding-left: 40px;
  }
  #bottom-banner .mail_bottom a::before {
    width: 30px;
    height: 21px;
    top: 1px;
  }
}
/*------------------page-------------------*/
.page-frontpage.page-page .banner {
  max-height: 800px;
  margin-top: 10px;
}

.page-frontpage.page-page .banner-text {
  color: #000;
}

.page-frontpage.page-page .site-main h3 {
  background: none;
  padding: 0px;
}

.page-page .banner,
.page-posttype .banner {
  max-height: 300px;
  margin-top: 10px;
}

@media (min-width: 769px) {
  .page-page .banner,
  .page-posttype .banner {
    max-height: 300px;
  }
}
.page-page .banner-text,
.page-posttype .banner-text {
  color: #fff;
  text-align: left;
}

.page-page .banner-text .inner,
.page-posttype .banner-text .inner {
  text-align: left;
  margin: 0px auto 0px 0px;
  float: left;
}

.page-page .banner-text .inner .page-type-title-slug,
.page-posttype .banner-text .inner .page-type-title-slug {
  text-align: left;
}

.page-page .site-main h2 {
  font-size: 30rem;
  color: #000;
}

.page-page .site-main h3 {
  background: #366caa;
  color: #fff;
  padding: 10px 20px;
  font-size: 24rem;
  border-radius: 10px;
}

.page-page .site-main h4 {
  color: var(--color-theme2);
  border-bottom: 1px solid var(--color-theme2);
}

.site-main .white_block {
  background: #fff;
  border-radius: 20px;
  padding: 20px 30px;
}

.site-main .white_block h4 {
  color: var(--color-theme3);
  border-bottom: 1px solid var(--color-theme3);
}

.contact_block {
  margin: 20px auto 30px auto;
  display: flex;
  flex-wrap: wrap;
}

.contact_block dt {
  width: 100%;
  border-bottom: none;
  padding: 20px 0 0px 0;
}

.contact_block dd {
  width: 100%;
  padding: 0px 0 20px 0;
  border-bottom: 1px solid #ccc;
}

.content-area input[type=submit] {
  margin: 0px auto 50px auto;
  text-align: center;
}

@media (min-width: 769px) {
  .contact_block dt {
    width: 20%;
    margin: 0px 0 0px 0px;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
  }
  .contact_block dd {
    width: 80%;
    margin: 0px 0 0px 0px;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
  }
}
#consulting .site-main {
  padding-bottom: 0;
}

.site-main {
  position: relative;
  z-index: 10;
}

#bottom-banner .map_img {
  z-index: unset;
  width: 470px;
  height: auto;
  aspect-ratio: 470/504;
}
#bottom-banner .map_img img {
  position: absolute;
}
#bottom-banner .map_img img:nth-child(1) {
  right: 0;
  width: 32%;
}
#bottom-banner .map_img img:nth-child(2) {
  right: 20%;
  top: 28%;
  width: 16%;
}
#bottom-banner .map_img img:nth-child(3) {
  right: 26%;
  top: 58%;
  width: 14.4%;
}
#bottom-banner .map_img img:nth-child(4) {
  right: 32%;
  top: 47%;
  width: 26.9%;
}
#bottom-banner .map_img img:nth-child(5) {
  right: 50%;
  top: 68%;
  width: 17.5%;
}
#bottom-banner .map_img img:nth-child(6) {
  right: 66%;
  top: 68%;
  width: 23.8%;
}
#bottom-banner .map_img img:nth-child(7) {
  right: 65%;
  top: 77%;
  width: 15.4%;
}
#bottom-banner .map_img img:nth-child(8) {
  left: 0;
  bottom: 0;
  width: 17.5%;
}
#bottom-banner .map_img.--start {
  position: fixed;
  top: unset;
}
#bottom-banner .map_img.--start img {
  opacity: 0;
  transform: translateY(-30px);
}
#bottom-banner .map_img.--start img.--show {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.75s;
}
#bottom-banner .map_img.--fin {
  position: absolute;
  top: 10px !important;
  right: 0 !important;
  bottom: unset !important;
}
#bottom-banner.--fin {
  position: unset;
}
#bottom-banner.--fin .textwidget {
  position: unset;
}
#bottom-banner.--fin .map_img {
  position: absolute;
  bottom: unset !important;
}
@media screen and (max-width: 768px) {
  #bottom-banner {
    overflow: unset;
  }
  #bottom-banner .textwidget > *:not(.map_img) {
    position: relative;
    z-index: 10;
  }
  #bottom-banner .map_img {
    width: 43.2vw;
  }
}