/*
Theme Name: meiseihoumu
Theme URI:
Description: This is meiseihoumu theme.
*/

@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@600&display=swap");


/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* 要素 フォントサイズ・マージン・パディングをリセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, abbr, address, cite, code, del, dfn, em,
img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, figcaption, figure, footer, header, hgroup,
menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

/* 新規追加要素をブロック要素化 */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* ulのマーカー非表示 */
ol, ul {
  list-style: none;
}

/* 引用符の非表示 */
blockquote, q {
  quotes: none;
}

/* blockquote要素、q要素の前後にコンテンツ非表示 */
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

/* フォントサイズ　リセット フォントの縦方向 ベースライン揃え 点線削除 */
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
}

a:hover, a:active {
  text-decoration: none;
  /* opacity: 0.75; */
  /* filter: alpha(opacity=75); */
  filter: brightness(115%);
}

a:hover .thumb img, a:active .thumb img {
  transition: all 0.3s;
  transform: scale(1.1);
}

a,
a * {
  transition: opacity 0.6s ease;
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  font-family: inherit;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* 追加 */
}

/* ins要素 デフォルトセット 色を変える場合はここで変更 */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* mark要素 デフォルトセット 色やフォントスタイルを変える場合はここで変更 */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

/* テキスト 打ち消し線 */
del {
  text-decoration: line-through;
}

/* IE　デフォルトで点線を下線表示設定　下線設定 マウスオーバー時 ヘルプカーソル表示可 */
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

/*　隣接するセルのボーダーを重ねて表示　*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 水平罫線デフォルトリセット */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/* 縦方向の揃え 中央揃え */
input,
select {
  vertical-align: middle;
}

/* 画像を縦に並べた時に余白0 */
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
  /* width: 100%; */
  max-width: 100%;
  height: auto;
}

/*box-sizingを全ブラウザに対応*/
*,
*:before,
*:after {
  box-sizing: border-box;
}

.clearfix:after {
  overflow: hidden;
  visibility: hidden;
  height: 0;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
}

br {
  line-height: inherit;
}

/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
.xl_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 1400px;
}

@media screen and (max-width: 1400px) {
  .xl_contain {
    padding: 0 1rem;
  }
}

.xlm_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 1300px;
}

@media screen and (max-width: 1300px) {
  .xlm_contain {
    padding: 0 1rem;
  }
}

.lg_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 1200px;
}

@media screen and (max-width: 1200px) {
  .lg_contain {
    padding: 0 1rem;
  }
}

.lgm_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 1050px;
}

@media screen and (max-width: 1050px) {
  .lgm_contain {
    padding: 0 1rem;
  }
}

.lgx_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 850px;
}

@media screen and (max-width: 850px) {
  .lgx_contain {
    padding: 0 1rem;
  }
}

.lgs_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 785px;
}

@media screen and (max-width: 785px) {
  .lgs_contain {
    padding: 0 1rem;
  }
}

.md_contain {
  position: relative;
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  max-width: 768px;
}

@media screen and (max-width: 768px) {
  .md_contain {
    padding: 0 1rem;
  }
}

/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* 表示切り替え */
.sp_on,
.tb_on {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pc_on {
    display: none !important;
  }

  .sp_on {
    display: block !important;
  }
}

@media screen and (max-width: 1050px) {
  .tb_on {
    display: block !important;
  }
}

/* LAZYLOAD SETTINGS */
.blurUp {
  filter: blur(5px);
  transition: filter 400ms;
}

.blurUp.lazyloaded {
  filter: blur(0);
}

.fb {
  font-weight: 700;
}

.fm {
  font-weight: 500;
}

/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/*--------------------------------------------------------------
    # メインコンテンツ
--------------------------------------------------------------*/
html {
  font-size: 62.5%;
  line-height: 1.75;
  color: #333333;
  overflow: hidden;
  scroll-behavior: smooth;
  overflow-y: scroll;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 2.3vw;
  }
}

body {
  width: 100%;
  font-family: noto-sans-cjk-jp, メイリオ, Meiryo, sans-serif;
  font-weight: 500;
}

body #wrapper {
  position: relative;
  overflow: hidden;
}

.poppins {
  font-family: "Poppins";
  font-weight: 600;
}

h3.sect_title {
  position: relative;
}

h4.sect_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

h4.sect_title p {
  font-weight: 700;
  font-size: 3rem;
  line-height: 2.2;
  border-bottom: solid #00A364 1px;
}

@media screen and (max-width: 768px) {
  h4.sect_title p {
    text-align: center;
    font-size: 2.6rem;
    line-height: 1.7;
  }
}

h4.sect_title p span {
  font-weight: 700;
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  h4.sect_title p span {
    font-size: 2rem;
    display: block;
  }
}

.breadcrumbs {
  padding: 2.3rem 0 1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    padding: 2rem 1rem 1rem;
  }
}

.breadcrumbs span {
  position: relative;
  font-weight: 500;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
}

.breadcrumbs span::after {
  position: relative;
  content: "";
  padding: 0 1.5rem;
  width: 0.9rem;
  height: 0.9rem;
  background: url(./images/common/ico_breadcrumb.png) center center no-repeat;
}

.breadcrumbs span:last-of-type::after {
  content: unset;
}

.breadcrumbs span a:hover {
  color: #00A364;
}

.link_grid {
  width: 100%;
}

.link_grid li {
  position: relative;
  width: 47%;
  border-radius: 2rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .link_grid li {
    width: 100%;
    margin-bottom: 3rem;
  }
}

.link_grid li .thumb {
  position: relative;
  width: 100%;
}

.link_grid li .label_link {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 2rem;
  height: 5.1rem;
  background: #333;
  font-weight: 700;
  font-size: 1.8rem;
  color: #fff;
  border-radius: 2rem 0 0 0;
}

.link_grid li .label_link::after {
  position: relative;
  content: "";
  margin-left: 1rem;
  width: 2.6rem;
  height: 2.6rem;
  background: url(./images/common/ico_more3.png) center center no-repeat;
  background-size: contain;
}

.link_line {
  width: 100%;
}

.link_line .back_link {
  position: relative;
  font-size: 1.8rem;
  line-height: 1;
  display: flex;
  align-items: center;
}

.link_line .back_link::before {
  position: relative;
  content: "";
  margin-right: 1rem;
  width: 2.6rem;
  height: 2.6rem;
  background: url(./images/common/ico_back.png) center center no-repeat;
  background-size: contain;
}

a.more_link {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  line-height: 1;
}

a.more_link img {
  margin-left: 1rem;
}

@media screen and (max-width: 768px) {
  a.more_link {
    font-size: 2rem;
  }
}

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

.history_list li {
  position: relative;
  width: 100%;
}

@media screen and (max-width:768px) {
  .history_list li {
    margin-bottom: 5px;
  }
}

.history_list li .block_mark {
  position: absolute;
  height: 100%;
  transform: translate(-50%, 0);
}

.history_list li .block_mark .block_circle {
  position: relative;
  width: 3rem;
  height: 3rem;
  background: #7ED0B0;
  border-radius: 100%;
}

@media screen and (max-width: 768px) {
  .history_list li .block_mark .block_circle {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.history_list li .block_mark .block_circle .year {
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  font-style: italic;
  font-size: 2.4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .history_list li .block_mark .block_circle .year {
    font-size: 2rem;
  }
}

.history_list li .block_mark .block_line {
  position: absolute;
  transform: translate(-50%, 0);
  left: 50%;
  top: 1.5rem;
  width: 6px;
  height: calc(100% - 1.5rem);
  background: #7ED0B0;
}

@media screen and (max-width:768px) {
  .history_list li .block_mark .block_line {
    height: 100%;
  }
}

.history_list li .content {
  position: relative;
  background: #F1F1F1;
  padding: 1rem 2rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .history_list li .content {
    padding: 0.5rem 1.5rem;
  }
}

.history_list li .content::after {
  position: absolute;
  content: "";
  left: -1.8rem;
  top: 1.5rem;
  width: 1.8rem;
  height: 1.2rem;
  background: url(./images/common/ico_comment.png) center center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .history_list li .content::after {
    top: 1rem;
  }
}

.history_list.type2 .block_mark {
  left: 50%;
  top: 0.5rem;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .block_mark {
    left: 1.5rem;
  }
}

.history_list.type2 .block_mark.left_label+.content {
  margin-left: 55.5%;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .block_mark.left_label+.content {
    margin-left: 30%;
  }
}

.history_list.type2 .block_mark.left_label .year {
  left: -7rem;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .block_mark.left_label .year {
    transform: translate(100%, -50%);
    right: -1rem;
  }
}

.history_list.type2 .block_mark.right_label+.content {
  margin-left: 0%;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .block_mark.right_label+.content {
    margin-left: 30%;
  }
}

.history_list.type2 .block_mark.right_label+.content::after {
  transform: scale(-1, 1);
  right: -1.8rem;
  left: unset;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .block_mark.right_label+.content::after {
    left: -1.8rem;
    right: unset;
    transform: unset;
  }
}

.history_list.type2 .block_mark.right_label .year {
  right: -6.5rem;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .block_mark.right_label .year {
    right: -5.5rem;
  }
}

.history_list.type2 .content {
  width: 44.5%;
}

@media screen and (max-width: 768px) {
  .history_list.type2 .content {
    width: 70%;
  }
}

.history_list.type2 li#block2009 {
  padding-bottom: 4.5rem;
}

.history_list.type2 li#block2011 {
  padding-bottom: 5rem;
}

.history_list.type2 li#block2013 {
  padding-bottom: 2rem;
}

.history_list.type2 li#block2015 {
  padding-bottom: 1.5rem;
}

.history_list.type2 li#block2016 {
  padding-bottom: 6rem;
}

.history_list.type2 li#block2020 {
  padding-bottom: 0;
}

.history_list.type2 li#block2021 {
  padding-bottom: 0rem;
}

.history_list.type2 li#block2022 .block_mark .block_line {
  height: calc(100% - 2rem);
}

.history_list.type1 .block_mark {
  left: 8.5rem;
  top: 0.5rem;
}

@media screen and (max-width: 768px) {
  .history_list.type1 .block_mark {
    left: 7.5rem;
  }
}

.history_list.type1 .block_mark.left_label .year {
  left: -7rem;
}

@media screen and (max-width: 768px) {
  .history_list.type1 .block_mark.left_label .year {
    left: -6rem;
  }
}

.history_list.type1 .content {
  width: calc(100% - 13rem);
  margin-left: 13rem;
}

@media screen and (max-width: 768px) {
  .history_list.type1 .content {
    width: calc(100% - 11.5rem);
    margin-left: 11.5rem;
  }
}

.history_list.type1 li#block2006 {
  padding-bottom: 2rem;
}

.history_list.type1 li#block2007 {
  padding-bottom: 2rem;
}

.history_list.type1 li#block2009 {
  padding-bottom: 2rem;
}

.history_list.type1 li#block2013 {
  padding-bottom: 2rem;
}

.history_list.type1 li#block2014 {
  padding-bottom: 2rem;
}

.history_list.type1 li#block2017 {
  padding-bottom: 2rem;
}

.history_list.type1 li#block2018 {
  padding-bottom: 2rem;
}


.history_list.type1 li#block2019 {
  padding-bottom: 2rem;
}


.history_list.type1 li#block2022 {
  padding-bottom: 0rem;
}

.history_list.type1 li#block2022 .block_mark .block_line {
  height: calc(100% - 2rem);
}

.infor_table {
  border-top: solid #BBBBBB 1px;
}

.customize-support .infor_table {
  width: 100%;
}

.infor_table tr {
  border-bottom: solid #BBBBBB 1px;
}

@media screen and (max-width: 768px) {
  .infor_table tr {
    display: flex;
    flex-wrap: wrap;
  }
}

.infor_table tr td {
  vertical-align: top;
  padding: 1.9rem 0;
}

@media screen and (max-width: 768px) {
  .infor_table tr td.gvalue {
    margin-bottom: 20px;
  }
}

.infor_table tr td.label {
  width: 18rem;
  font-weight: 700;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .infor_table tr td.label {
    padding-bottom: 1rem;
  }
}

.infor_table tr td.content {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}

.infor_table tr td.content a {
  position: relative;
}

.infor_table tr td.content a.donwload {
  text-decoration: underline;
}

.infor_table tr td.content a.link::after {
  position: absolute;
  content: "";
  transform: translate(0, -50%);
  top: 50%;
  right: 1rem;
  width: 1.8rem;
  height: 1.8rem;
  background: url(./images/common/ico_link00.png) center center no-repeat;
  background-size: contain;
}

@media only screen and (max-width:767px) {
  .infor_table tr td.content a.link::after {
    right: initial;
  }
}

.infor_table tr td.content a.lglink {
  display: block;
  width: 100%;
}

.infor_table tr td.content a.smlink {
  padding-right: 3rem;
}

.infor_table tr td.content .pblock {
  width: 100%;
}

.customize-support .office_guidance .infor_table tr td.content .pblock {
  width: 100%;
  border-top: solid #BBBBBB 1px;
  padding: 20px 0;
}

.customize-support .office_guidance .infor_table tr td.content .pblock:first-child {
  border-top: none;
}

.infor_table tr td.content .pblock img {
  height: 20rem;
  object-fit: cover;
}

@media screen and (max-width:767px) {
  .infor_table tr td.content .pblock img {
    height: 10rem;
  }
}

.infor_table tr td.content .pblock .gmap {
  width: 289px;
  height: 200px;
}

.infor_table tr td.content .pblock .label {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.2;
}

.infor_table tr td.content .pblock:first-child .label {
  margin-top: 0;
}

.infor_table tr td.content .pblock .infor {
  margin-top: .5rem;
  font-size: 1.4rem;
  line-height: 1.5;
}

.infor_table tr td.content .line_table tr {
  border: none;
}

.infor_table tr td.content .line_table tr td {
  padding: 0.5rem 0;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}

.infor_table tr td.content .line_table tr td.glabel {
  width: 27rem;
}

.infor_table tr td.content .line_table tr td.gvalue {
  width: 170px;
}

@media only screen and (max-width:767px) {
  .infor_table tr td.content .line_table tr td.gvalue {
    width: 50%;
  }
}

.infor_table tr td.content .line_table tr td.glabel span.font-small {
  font-size: small;
}

@media screen and (max-width: 768px) {
  .infor_table tr td.content .line_table tr td.glabel {
    width: 100%;
  }

  .infor_table tr td.content .line_table tr td.glabel span.font-small {
    font-size: inherit;
  }
}

.customer_grid {
  width: 100%;
}

.customer_grid li {
  position: relative;
  height: 27rem;
  border: solid #BBBBBB 1px;
  border-radius: 2rem;
}

@media screen and (max-width: 768px) {
  .customer_grid li {
    height: 20rem;
  }
}

.customer_grid li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 0 2rem;
}

.customer_grid li::after {
  position: absolute;
  content: "";
  right: 1rem;
  bottom: 1rem;
  width: 2.6rem;
  height: 2.6rem;
  background: url(./images/common/ico_more2.png) center center no-repeat;
  background-size: contain;
}

.customer_grid li .avatar {
  padding: 0 1.5rem;
}

.customer_grid li .label {
  margin-top: 3rem;
  font-weight: 700;
  font-size: 2.3rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .customer_grid li .label {
    font-size: 1.8rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
}

.customer_grid li .label.stxt {
  font-weight: 700;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .customer_grid li .label.stxt {
    font-size: 1.4rem;
  }
}

.news_list.sub li {
  background: #F8F8F8;
}

.news_list.sub li .thumb {
  height: 24.4rem;
}

@media screen and (max-width: 768px) {
  .news_list.sub li .thumb {
    height: auto;
  }
}

.news_list.sub li .category {
  top: 25rem;
}

@media screen and (max-width: 768px) {
  .news_list.sub li .category {
    top: auto;
  }
}

.news_list li {
  position: relative;
  background: #fff;
  border-radius: 2rem;
}

.news_list li .thumb {
  width: 100%;
  height: 22.4rem;
  border-radius: 2rem 2rem 0 0;
}

@media screen and (max-width: 768px) {
  .news_list li .thumb {
    height: auto;
  }
}

.news_list li .thumb img {
  height: 100%;
}

.news_list li .category {
  position: absolute;
  left: 0;
  top: 23rem;
  margin-top: -2rem;
  display: inline-block;
  background: #00A364;
  border-radius: 0 1.5rem 1.5rem 0;
  padding: 0 2rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 3rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .news_list li .category {
    top: auto;
    margin-top: 0;
    transform: translateY(-50%);
  }
}

.news_list li .date {
  margin-right: 2rem;
  margin-top: 1rem;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #9D9D9D;
}

.news_list li .desc {
  padding: 1rem 2rem 2rem;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.444;
}

.thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.thumb img {
  transition: all 0.3s;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
}

.inview {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 1s;
}

.inview.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/*--------------------------------------------------------------
    # pageTop
--------------------------------------------------------------*/
#pagetop {
  display: none;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 999;
  transition: all 0.3s;
}

#pagetop a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  margin: 0 0 0 auto;
}

@media screen and (max-width: 768px) {
  #pagetop a {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 2rem;
  }
}

#pagetop.static {
  position: absolute;
  bottom: auto;
  margin-top: -7rem;
}

@media screen and (max-width: 768px) {
  #pagetop.static {
    margin-top: -3.5rem;
  }
}

/* ---------------------------------------------
# grid list pagination - お知らせ
-----------------------------------------------*/
.pagination {
  display: table;
  margin: 7rem auto 0;
}

ul.page-numbers {
  display: flex;
}

.pagination ul,
ul.page-numbers {
  border: solid #E1E1E1 1px;
  border-radius: 0.5rem;
}

.pagination ul li,
.page-numbers li {
  width: 4rem;
  height: 4rem;
  border-right: solid #E1E1E1 1px;
  font-weight: 700;
  font-size: 1.6rem;
}

.pagination ul li a, .pagination ul li p {
  width: 100%;
  height: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

span.page-numbers.dots {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

span.page-numbers.current {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #7ED0B0;
  color: #fff;
}

.pagination ul li.current {
  background: #7ED0B0;
  color: #fff;
}

.pagination ul li:last-of-type {
  border-right: none;
}

@-webkit-keyframes fadeEffect {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeEffect {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes arrowRight {
  from {
    transform: translate(-50%, -50%);
    opacity: 0.5;
  }

  to {
    transform: translate(0, -50%);
    opacity: 1;
  }
}

@keyframes arrowRight {
  from {
    transform: translate(-50%, -50%);
    opacity: 0.5;
  }

  to {
    transform: translate(0, -50%);
    opacity: 1;
  }
}

@-webkit-keyframes dot_updown {
  0% {
    top: 0;
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  80% {
    opacity: 0.6;
  }

  100% {
    top: 100%;
    opacity: 0;
  }
}

@keyframes dot_updown {
  0% {
    top: 0;
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  80% {
    opacity: 0.6;
  }

  100% {
    top: 100%;
    opacity: 0;
  }
}

@-webkit-keyframes msg_updown {
  0% {
    transform: translate(0, 0);
    opacity: 0.85;
  }

  50% {
    transform: translate(0, -5%);
    opacity: 1;
  }

  100% {
    transform: translate(0, 0);
    opacity: 0.85;
  }
}

@keyframes msg_updown {
  0% {
    transform: translate(0, 0);
    opacity: 0.85;
  }

  50% {
    transform: translate(0, -5%);
    opacity: 1;
  }

  100% {
    transform: translate(0, 0);
    opacity: 0.85;
  }
}

@-webkit-keyframes updown {
  0% {
    transform: translateY(80%);
  }

  100% {
    transform: translateY(0%);
  }
}

@keyframes updown {
  0% {
    transform: translateY(80%);
  }

  100% {
    transform: translateY(0%);
  }
}

@-webkit-keyframes stretch-animate {
  0% {
    transform: scale(1, 1);
  }

  28% {
    transform: scale(1.15, 0.85);
  }

  50% {
    transform: scale(0.9, 1.1);
  }

  100% {
    transform: scale(1, 1);
  }
}

@keyframes stretch-animate {
  0% {
    transform: scale(1, 1);
  }

  28% {
    transform: scale(1.15, 0.85);
  }

  50% {
    transform: scale(0.9, 1.1);
  }

  100% {
    transform: scale(1, 1);
  }
}

header {
  position: fixed;
  width: 100%;
  z-index: 10000;
  transition: all 0.5s;
  /*	global navigator(pc)
  ---------------------------------*/
}

header.scroll {
  transition: all 0.5s;
}

header .hd_main {
  position: relative;
  padding-bottom: 3rem;
}

header .hd_main::before {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 0;
  z-index: -1;
  content: "";
  width: 100vw;
  height: 100%;
  background: #fff;
}

header .hd_main .logo {
  position: relative;
  z-index: 10005;
  margin-top: 0.8rem;
}

@media screen and (max-width: 768px) {
  header .hd_main .logo {
    margin-top: 1.4rem;
    width: 24.5rem;
  }
}

header .hd_main .head_menu {
  width: 100%;
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  header .hd_main .head_menu {
    display: none;
  }
}

header .hd_main .head_menu li {
  border-right: solid #9D9D9D 1px;
  flex-grow: 1;
}

header .hd_main .head_menu li:last-of-type {
  border-right: none;
}

header .hd_main .head_menu li a {
  position: relative;
  display: inline-block;
  padding: 0 2.9rem;
  width: 100%;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
}

header .hd_main .head_menu li a p {
  font-size: 1.6rem;
  line-height: 1;
}

header .hd_main .head_menu li a::before {
  position: absolute;
  bottom: -2.1rem;
  left: 0;
  content: "";
  width: 100%;
  height: 4px;
  background: #00A364;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

header .hd_main .head_menu li a:hover {
  transform: translateY(-3px);
}

header .hd_main .head_menu li a:hover::before {
  bottom: -1.9rem;
  opacity: 1;
  visibility: visible;
}

header .hd_main .head_menu li a.active::before {
  bottom: 0;
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 768px) {
  header .hd_main .btn_grid {
    display: none;
  }
}

header .hd_main .btn_grid .sns_grid {
  display: none;
  margin-right: 3rem;
}

header .hd_main .btn_grid .sns_grid a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  margin-right: 1.7rem;
  font-size: 2rem;
  color: #fff;
  background: #9D9D9D;
  border-radius: 50%;
}

header .hd_main .btn_grid .sns_grid a:hover {
  opacity: 0.8;
}

header .hd_main .btn_grid .sns_grid a:last-of-type {
  margin-right: 0;
}

header .hd_main .btn_grid a.consult_link {
  display: inline-block;
  background: #00A364;
  border-radius: 0 0 1rem 1rem;
  width: 18rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 5rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  header .hd_main {
    background: #fff;
    padding: 0 0 1.5rem 1.7rem;
  }
}

header .navToggle {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 8rem;
  height: 6.6rem;
  padding: 1.9rem 2.2rem;
  cursor: pointer;
  z-index: 10010;
  background: transparent;
}

@media screen and (max-width: 768px) {
  header .navToggle {
    display: inline-block;
  }
}

header .navToggle div {
  position: relative;
}

header .navToggle span {
  display: block;
  position: absolute;
  width: 100%;
  height: 4px;
  background: #000;
  left: 0;
  transition: 0.3s ease-in-out;
  border-radius: 5px;
}

header .navToggle span:nth-child(1) {
  top: 0;
}

header .navToggle span:nth-child(2) {
  top: 1.3rem;
}

header .navToggle span:nth-child(3) {
  top: 2.6rem;
}

header .sp_nav {
  position: relative;
  position: fixed;
  z-index: 9000;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9019607843);
  visibility: hidden;
  opacity: 0;
  transform: scale(0.9) translateY(5rem);
  transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
}

header .sp_nav::-webkit-scrollbar {
  width: 0;
}

header .sp_nav .logo {
  margin-top: 7rem;
}

header .sp_nav .sp_menu {
  width: 100%;
  display: block;
}

header .sp_nav .sp_menu li {
  width: 100%;
  border-bottom: solid #C1C1C1 1px;
}

header .sp_nav .sp_menu li a {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 3.35;
  color: #333;
}

header .sp_nav .bottom_btn {
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
}

header .sp_nav .bottom_btn .sns_grid {
  margin-right: 3rem;
}

header .sp_nav .bottom_btn .sns_grid a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 3.3rem;
  height: 3.3rem;
  margin-right: 2.3rem;
  font-size: 2rem;
  color: #fff;
  background: #9D9D9D;
  border-radius: 50%;
}

header .sp_nav .bottom_btn .sns_grid a:hover {
  opacity: 0.8;
}

header .sp_nav .bottom_btn .sns_grid a:last-of-type {
  margin-right: 0;
}

header .sp_nav .bottom_btn a.consult_link {
  display: inline-block;
  background: #00A364;
  border-radius: 1rem 1rem 0 0;
  width: 20rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 5.6rem;
  color: #fff;
}

header.open .sp_nav {
  visibility: visible;
  opacity: 1;
  transform: scale(1) translateY(0);
  transition: transform 0.4s, opacity 0.4s;
}

header.open .navToggle span:nth-child(1) {
  top: 1rem;
  transform: rotate(315deg);
}

header.open .navToggle span:nth-child(2) {
  width: 0;
  left: 50%;
}

header.open .navToggle span:nth-child(3) {
  top: 1rem;
  transform: rotate(-315deg);
}

footer {
  position: relative;
  background: #21252B;
}

footer .lg_contain {
  padding-top: 2.4rem;
  padding-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  footer .lg_contain {
    padding: 2.8rem 2.2rem 3.5rem;
  }
}

footer .lg_contain a.ft_logo {
  display: inline-block;
}

footer .lg_contain .link_box {
  width: 100%;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  footer .lg_contain .link_box {
    flex-direction: column;
    max-height: 28rem;
  }
}

footer .lg_contain .link_box a {
  color: #fff;
}

footer .lg_contain .link_box .s_block {
  width: 21%;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 768px) {
  footer .lg_contain .link_box .s_block {
    width: 50%;
    margin-bottom: 0.4rem;
  }

  /* footer .lg_contain .link_box .s_block:nth-of-type(6), footer .lg_contain .link_box .s_block:nth-of-type(7), footer .lg_contain .link_box .s_block:nth-of-type(8), footer .lg_contain .link_box .s_block:nth-of-type(9), footer .lg_contain .link_box .s_block:nth-of-type(10), footer .lg_contain .link_box .s_block:nth-of-type(11), footer .lg_contain .link_box .s_block:nth-of-type(12) {
    align-self: flex-end;
  } */
  /* ---------------------------------------------------------
  footer「提携先企業」が復活した場合は下記↓↓を削除して上記↑↑を使用する
  ------------------------------------------------------------*/
  footer .lg_contain .link_box .s_block:nth-of-type(7), footer .lg_contain .link_box .s_block:nth-of-type(8), footer .lg_contain .link_box .s_block:nth-of-type(9), footer .lg_contain .link_box .s_block:nth-of-type(10), footer .lg_contain .link_box .s_block:nth-of-type(11), footer .lg_contain .link_box .s_block:nth-of-type(12) {
    align-self: flex-end;
  }
}

footer .lg_contain .link_box .s_block a.main_link {
  position: relative;
  display: inline-block;
  width: 100%;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2.5;
}

footer .lg_contain .link_box .s_block a.main_link::after {
  position: absolute;
  transform: translate(0, -50%);
  right: 0;
  top: 50%;
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  background: url(./images/common/ico_link1.png) center center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  footer .lg_contain .link_box .s_block a.main_link::after {
    right: 13px;

  }

}

footer .lg_contain .link_box .s_block a.main_link span.ico {
  display: none;
}

@media screen and (max-width: 768px) {
  footer .lg_contain .link_box .s_block a.main_link span.ico {
    display: inline-block;
    margin-left: 1rem;
  }
}

footer .lg_contain .link_box .s_block .sub_lists {
  width: 100%;
  border-top: solid #fff 1px;
  padding-top: 1.3rem;
}

@media screen and (max-width: 768px) {
  footer .lg_contain .link_box .s_block .sub_lists {
    display: none;
  }
}

footer .lg_contain .link_box .s_block .sub_lists li {
  padding: 0.83rem 0;
}

footer .lg_contain .link_box .s_block .sub_lists li a {
  position: relative;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2;
  padding-left: 2rem;
}

footer .lg_contain .link_box .s_block .sub_lists li a::before {
  position: absolute;
  content: "";
  transform: translate(0, -50%);
  left: 0;
  top: 50%;
  width: 1rem;
  height: 1.2rem;
  background: url(./images/common/ico_link2.png) center center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  footer .lg_contain .link_box .s_block.empty {
    display: none;
  }
}

footer .consult_link {
  position: absolute;
  right: 0;
  bottom: 11rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: solid #00A364 3px;
  border-radius: 10rem 0 0 10rem;
  background: url(./images/common/ico_more1.png) 95% center no-repeat, #fff;
  width: 35.3rem;
  height: 8rem;
  font-weight: 700;
  font-size: 2.4rem;
  color: #333333;
}

@media screen and (max-width: 768px) {
  footer .consult_link {
    position: relative;
    bottom: unset;
    margin: 0 5%;
    border-radius: 10rem;
    width: 90%;
    height: 8.9rem;
    font-size: 2.7rem;
  }
}

footer .cpy {
  width: 100%;
  padding: 0 0 2rem;
}

@media screen and (max-width: 768px) {
  footer .cpy {
    justify-content: center;
    padding: 5.5rem 0 3.5rem;
  }
}

footer .cpy a {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
}

@media screen and (max-width: 768px) {
  footer .cpy a {
    font-size: 1.8rem;
    width: 100%;
    text-align: center;
  }
}

footer .cpy p {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1;
  color: #fff;
}

@media screen and (max-width: 768px) {
  footer .cpy p {
    margin-top: 2.5rem;
    font-size: 1.6rem;
    width: 100%;
    text-align: center;
  }
}

.mega_bg {
  display: none;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0;
  z-index: 5000;
  background: rgba(0, 0, 0, 0.4352941176);
  width: 100%;
  height: 100vh;
  transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
}

.mega_bg.mega_open {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: scale(1);
  transition: transform 0.4s, opacity 0.4s;
}

/*--------------------------------------------------------------
    # メインコンテンツ - main contents
--------------------------------------------------------------*/
main {
  position: relative;
  margin-top: 14rem;
  /* ---------------------------------------------
  # contact_01.html - radio button
  -----------------------------------------------*/
  --radio: #767676;
  --radio-checked: #000;
  --radio-size: 16px;
}

main.top {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  main {
    margin-top: 7rem;
  }
}

main section {
  position: relative;
  width: 100%;
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # index.html - Start
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
  /* ---------------------------------------------
  # Company
  -----------------------------------------------*/
  /* ---------------------------------------------
  # 代表挨拶
  -----------------------------------------------*/
  /* ---------------------------------------------
  # 経営理念
  -----------------------------------------------*/
  /* ---------------------------------------------
  # 5 - 所属司法書士
  -----------------------------------------------*/
  /* ---------------------------------------------
  # 6 - 所属司法書士 - detail
  -----------------------------------------------*/
  /* ---------------------------------------------
  # 7 - 組織図
  -----------------------------------------------*/
  /* ---------------------------------------------
  # 8 - 事業所案内
  -----------------------------------------------*/
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # 9 - 個人のお客様 - TOP
  # 18- 法人のお客様 - TOP
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
  /* ---------------------------------------------
  # 10 - 相続手続き   19 - 会社設立
  # 11 - 不動産登記   20 - 商業登記
  # 12 - 相続放棄     21 - 各種法人設立
  # 13 - 遺言書       22 - 各種法人登記
  # 14 - 生前贈与     23 - 企業法務・法務顧問
  # 15 - 任意後見     24 - 事業承継・Ｍ＆Ａ
  # 16 - 民事信託     25 - 債権譲渡登記・動産譲渡登記
  # 17 - 債務整理     26 - 契約書作成
  -----------------------------------------------*/
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # 36, 37 - ニュース
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # 38 - よくあるご質問
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # 39 - 無料法律相談
  # 41 - お問合せ
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # 43 - 個人情報保護方針
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
  /*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  # 44 - サイトマップ
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
}

main section.hero {
  width: 100%;
  height: 76.8rem;
  /* background: url(./images/top/mv_bg.jpg) center center no-repeat; */
  display: flex;
  justify-content: start;
  align-items: center;
}
.swiper {
  height: 100%;
}

.hero_img1{
  background: url(./images/top/mv_bg_220826.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;

}
.hero_img2{
  background: url(./images/top/mv_bg2_220826.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;

}

.hero_img3{
  background: url(./images/top/mv_bg3_220826.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  background-position: top center;

}
@media screen and (max-width: 768px) {
  main section.hero {
    height: auto;
    background-position: 64% center;
  }
  .hero_img2 {
    background: url(./images/top/mv_bg2.jpg) 60% center no-repeat;
}
.swiper {
  height: 100vh;
}
}

main section.hero .lg_contain {
  padding-top: 21rem;
}

@media screen and (max-width: 768px) {
  main section.hero .lg_contain {
    padding-top: 43rem;
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 768px) {
  main section.hero h1 {
    margin-left: 2.4rem;
  }
}

main section.hero h1 p:first-child {
  font-size: 12.8rem;
  line-height: 0.95;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
}

@media screen and (max-width: 768px) {
  main section.hero h1 p:first-child {
    font-size: 9rem;
  }
}

main section.hero h1 p:last-child {
  margin-top: 1.3rem;
  font-weight: 900;
  font-size: 3rem;
  line-height: 1.466;
  color: #fff;
}

@media screen and (max-width: 768px) {
  main section.hero h1 p:last-child {
    font-size: 2.15rem;
    line-height: 1.366;
  }
}

main section.hero .news_block {
  position: absolute;
  max-width: 47rem;
  right: 0;
  bottom: 0;
  padding: 1.5rem 8rem 1rem 5.5rem;
  border-radius: 2.4rem 0 0 0;
  background: #fff;
}

@media screen and (max-width: 768px) {
  main section.hero .news_block {
    max-width: 92vw;
    padding: 1.5rem 2rem 1rem 6rem;
  }
}

main section.hero .news_block .date {
  position: relative;
  font-size: 1.6rem;
  color: #9D9D9D;
}

@media screen and (max-width: 768px) {
  main section.hero .news_block .date {
    font-size: 1.8rem;
  }
}

main section.hero .news_block .date::before {
  position: absolute;
  content: url(./images/common/ico_speaker.png);
  left: -1.4rem;
  top: 0.5rem;
  transform: translateX(-100%);
}

main section.hero .news_block .label {
  margin-top: 0.5rem;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333333;
}

@media screen and (max-width: 768px) {
  main section.hero .news_block .label {
    font-size: 1.8rem;
  }
}

main section.hero .news_block a.more_link {
  margin-top: 1.2rem;
}

main section.news {
  background: #F8F8F8;
}

main section.news .lg_contain {
  padding-top: 15rem;
  padding-bottom: 10rem;
}

@media screen and (max-width: 768px) {
  main section.news .lg_contain {
    padding-top: 10rem;
  }
}

main section.news .lg_contain .news_block {
  position: relative;
  width: 100%;
}

main section.news .lg_contain .news_block h3.sect_title {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 10.1rem;
  line-height: 0.7;
}

@media screen and (max-width: 768px) {
  main section.news .lg_contain .news_block h3.sect_title {
    font-size: 7rem;
  }
}

main section.news .lg_contain .news_block h3.sect_title::before {
  position: absolute;
  content: "";
  width: 30vw;
  height: 1px;
  background: #000;
  right: 0;
  top: -3rem;
}

main section.news .lg_contain .news_block .news_list {
  margin-left: 6.4rem;
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  main section.news .lg_contain .news_block .news_list {
    margin-left: 4rem;
  }
}

main section.news .lg_contain .link_line {
  margin-top: 4rem;
}

main section.company .company_grid {
  transition: all 0.4s;
  background: url(./images/top/top_company_bg.jpg) center center no-repeat;
  background-size: cover;
}

main section.company .company_grid::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  transition: all 0.4s;
}

main section.company .company_grid:hover {
  transition: all 0.4s;
}

main section.company .company_grid:hover::before {
  transition: all 0.4s;
  visibility: hidden;
  opacity: 0;
}

main section.company .company_grid:hover li {
  border-color: transparent !important;
}

main section.company .company_grid:hover .mask_layer {
  transform: translate(-50%, -50%);
  width: calc(100% - 4rem);
  height: calc(100% - 4rem);
  opacity: 0.65;
  border-radius: 2rem;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
}

main section.company .company_grid li {
  position: relative;
}

main section.company .company_grid li:hover .mask_layer {
  opacity: 0.9;
}

main section.company .company_grid li .mask_layer {
  position: absolute;
  z-index: 0;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  border-radius: 0;
  opacity: 1;
  background: #fff;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
}

main section.company .company_grid li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

main section.company .company_grid li a .text_box {
  position: relative;
  z-index: 50;
  text-align: center;
}

main section.company .company_grid li a .text_box::after {
  position: absolute;
  transform: translate(0, -50%);
  right: -7rem;
  top: 50%;
  content: "";
  width: 4.9rem;
  height: 4.9rem;
  background: url(./images/common/ico_pglink.png) center center no-repeat;
  background-size: contain;
}

main section.company .company_grid li:nth-of-type(1) {
  width: 100%;
  height: 33.5rem;
  border-bottom: solid #F1F1F1 3px;
}

@media screen and (max-width: 768px) {
  main section.company .company_grid li:nth-of-type(1) {
    height: 18rem;
  }
}

main section.company .company_grid li:nth-of-type(1) .e_t {
  font-size: 8rem;
  line-height: 1;
  border-bottom: solid #000 1px;
}

@media screen and (max-width: 768px) {
  main section.company .company_grid li:nth-of-type(1) .e_t {
    font-size: 3rem;
  }
}

main section.company .company_grid li:nth-of-type(1) .j_t {
  margin-top: 1rem;
  font-weight: 700;
  font-size: 1.8rem;
}

main section.company .company_grid li:nth-of-type(2), main section.company .company_grid li:nth-of-type(3), main section.company .company_grid li:nth-of-type(4) {
  width: 33.3%;
  height: 20rem;
  border-right: solid #F1F1F1 3px;
}

@media screen and (max-width: 768px) {
  main section.company .company_grid li:nth-of-type(2), main section.company .company_grid li:nth-of-type(3), main section.company .company_grid li:nth-of-type(4) {
    width: 100%;
    height: 18rem;
    border-right: none;
    border-bottom: solid #F1F1F1 3px;
  }

  main section.company .company_grid li:nth-of-type(2):last-of-type, main section.company .company_grid li:nth-of-type(3):last-of-type, main section.company .company_grid li:nth-of-type(4):last-of-type {
    border-bottom: none;
  }
}

main section.company .company_grid li:nth-of-type(2) .e_t, main section.company .company_grid li:nth-of-type(3) .e_t, main section.company .company_grid li:nth-of-type(4) .e_t {
  font-size: 3.5rem;
  line-height: 1;
  border-bottom: solid #000 1px;
}

@media screen and (max-width: 768px) {
  main section.company .company_grid li:nth-of-type(2) .e_t, main section.company .company_grid li:nth-of-type(3) .e_t, main section.company .company_grid li:nth-of-type(4) .e_t {
    font-size: 3rem;
  }
}

main section.company .company_grid li:nth-of-type(2) .j_t, main section.company .company_grid li:nth-of-type(3) .j_t, main section.company .company_grid li:nth-of-type(4) .j_t {
  margin-top: 1rem;
  font-weight: 700;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  main section.company .company_grid li:nth-of-type(2) .j_t, main section.company .company_grid li:nth-of-type(3) .j_t, main section.company .company_grid li:nth-of-type(4) .j_t {
    font-size: 1.8rem;
  }
}

main section.service {
  background: #F1F1F1;
}

main section.service .lg_contain {
  padding-top: 7rem;
  padding-bottom: 10rem;
}

@media screen and (max-width: 768px) {
  main section.service .lg_contain {
    padding-bottom: 8rem;
  }
}

main section.service .lg_contain h3.sect_title {
  display: inline-block;
  font-size: 10.1rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  main section.service .lg_contain h3.sect_title {
    font-size: 7rem;
  }
}

main section.service .lg_contain h3.sect_title::before {
  position: absolute;
  content: "";
  width: 100vw;
  height: 1px;
  background: #000;
  right: 0;
  top: -0.5rem;
}

main section.service .lg_contain .service_type {
  margin-top: 2rem;
}

main section.service .lg_contain .service_type li {
  position: relative;
  width: 18.5rem;
  height: 18.5rem;
  border-radius: 2rem;
  background: #fff;
  margin: 0 2rem;
}

@media screen and (max-width: 768px) {
  main section.service .lg_contain .service_type li {
    width: 100%;
    height: 16rem;
    margin-bottom: 3rem;
  }
}

main section.service .lg_contain .service_type li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

main section.service .lg_contain .service_type li .label {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  main section.service .lg_contain .service_type li .label {
    margin-top: 1rem;
    font-size: 2rem;
  }
}

main section.service .lg_contain .service_type li .link {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}

main section.recruit {
  background: url(./images/top/top_recruit_bg.jpg) top center no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  main section.recruit {
    background-position: 40% center;
  }
}

main section.recruit .lg_contain {
  padding-top: 65.8rem;
}

@media screen and (max-width: 768px) {
  main section.recruit .lg_contain {
    padding-top: 51rem;
  }
}

main section.recruit .lg_contain .content {
  position: absolute;
  right: 0;
  bottom: 5rem;
  padding: 0 1rem 3rem 3rem;
}

@media screen and (max-width: 768px) {
  main section.recruit .lg_contain .content {
    max-width: 90%;
    padding: 0 2rem 3rem 3rem;
  }
}

main section.recruit .lg_contain .content h3.sect_title {
  position: relative;
  font-size: 10.1rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  main section.recruit .lg_contain .content h3.sect_title {
    font-size: 6rem;
  }
}

main section.recruit .lg_contain .content .desc {
  position: relative;
  margin-top: 2rem;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 1.777;
}

main section.recruit .lg_contain .content .desc .large {
  font-size: 3.5rem;
}

@media screen and (max-width: 768px) {
  main section.recruit .lg_contain .content .desc {
    font-size: 1.4rem;
  }
}

main section.recruit .lg_contain .content .more_link {
  position: relative;
  margin-top: 4.5rem;
}

@media screen and (max-width: 768px) {
  main section.recruit .lg_contain .content .more_link {
    margin-top: 2rem;
  }
}

main section.recruit .lg_contain .content::before {
  position: absolute;
  z-index: 0;
  content: "";
  width: 100vw;
  height: calc(100% - 7rem);
  left: 0;
  bottom: 0;
  border-radius: 2.4rem 0 0 2.4rem;
  background: #fff;
}

@media screen and (max-width: 768px) {
  main section.recruit .lg_contain .content::before {
    width: 100%;
    height: calc(100% - 3rem);
  }
}

main section.contact .lg_contain {
  padding-top: 10rem;
  padding-bottom: 15.5rem;
}

@media screen and (max-width: 768px) {
  main section.contact .lg_contain {
    padding-top: 7rem;
    padding-bottom: 8rem;
  }
}

main section.contact .lg_contain h3.sect_title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

main section.contact .lg_contain h3.sect_title .e_t {
  font-size: 6rem;
  line-height: 1.5;
  border-bottom: solid #000 1px;
}

main section.contact .lg_contain h3.sect_title .j_t {
  margin-top: 2rem;
  font-weight: 400;
  font-size: 1.8rem;
}

main section.contact .lg_contain .contact_grid {
  width: 100%;
  margin-top: 4.7rem;
}

p.contact-time {
  display: inline-block;
  text-align: left;
  line-height: 1.5 !important;
}

main section.contact .lg_contain .contact_grid li {
  width: 48.3%;
  background: #F1F1F1;
  border-radius: 2.4rem;
  padding: 4.5rem 1rem 5.5rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  main section.contact .lg_contain .contact_grid li {
    width: 100%;
    margin-bottom: 3rem;
    padding: 3rem 1.5rem;
  }

  main section.contact .lg_contain .contact_grid li:last-of-type {
    margin-bottom: 0;
  }
}

main section.contact .lg_contain .contact_grid li p:first-of-type {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  main section.contact .lg_contain .contact_grid li p:first-of-type {
    font-size: 2rem;
  }
}

main section.contact .lg_contain .contact_grid li:nth-of-type(1) a.tel_link {
  display: inline-flex;
  align-items: center;
  margin: 1rem 0 0.3rem;
  font-size: 5.1rem;
}

@media screen and (max-width: 768px) {
  main section.contact .lg_contain .contact_grid li:nth-of-type(1) a.tel_link {
    font-size: 4rem;
    line-height: 1.2;
  }
}

main section.contact .lg_contain .contact_grid li:nth-of-type(1) a.tel_link img {
  margin-right: 0.5rem;
}

@media screen and (max-width: 768px) {
  main section.contact .lg_contain .contact_grid li:nth-of-type(1) a.tel_link img {
    width: 3rem;
  }
}

main section.contact .lg_contain .contact_grid li:nth-of-type(1) p:last-of-type {
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1;
}

main section.contact .lg_contain .contact_grid li:nth-of-type(2) a.contact_link {
  position: relative;
  margin-top: 4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: solid #00A364 3px;
  border-radius: 10rem;
  background: #fff;
  max-width: 38rem;
  width: 90%;
  height: 8rem;
  font-weight: 700;
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  main section.contact .lg_contain .contact_grid li:nth-of-type(2) a.contact_link {
    margin-top: 3rem;
    height: 7rem;
  }
}

main section.contact .lg_contain .contact_grid li:nth-of-type(2) a.contact_link::after {
  position: absolute;
  content: "";
  transform: translate(0, -50%);
  right: 3rem;
  top: 50%;
  width: 2.6rem;
  height: 2.6rem;
  background: url(./images/common/ico_more1.png) center center no-repeat;
  background-size: contain;
}

main section.contact.sub .lg_contain {
  padding-top: 5rem;
  padding-bottom: 10.5rem;
}

@media screen and (max-width: 768px) {
  main section.contact.sub .lg_contain {
    padding-bottom: 8rem;
  }
}

main section.page_header {
  width: 100%;
}

main section.page_header .lg_contain {
  height: 25rem;
  display: flex;
  align-items: center;
}

main section.page_header .lg_contain h3.page_title p.poppins {
  font-size: 8rem;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  main section.page_header .lg_contain h3.page_title p.poppins {
    font-size: 6rem;
  }
}

main section.page_header .lg_contain h3.page_title p.j_t {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
}

main section.page_header::before {
  position: absolute;
  content: "";
  width: calc(50vw + 28rem);
  height: 100%;
  right: 0;
}

@media screen and (max-width: 768px) {
  main section.page_header::before {
    width: 100vw;
  }
}

main section.page_header.company::before {
  background: url(./images/common/pagehead/hd_bg_company.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.individual::before {
  background: url(./images/common/pagehead/hd_bg_individual.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.corporation::before {
  background: url(./images/common/pagehead/hd_bg_corporation.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.news::before {
  background: url(./images/common/pagehead/hd_bg_news.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.faq::before {
  background: url(./images/common/pagehead/hd_bg_faq.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.consultation::before {
  background: url(./images/common/pagehead/hd_bg_consultation.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.contact::before {
  background: url(./images/common/pagehead/hd_bg_contact.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.policy::before {
  background: url(./images/common/pagehead/hd_bg_policy.jpg) center center no-repeat;
  background-size: cover;
}

main section.page_header.sitemap::before {
  background: url(./images/common/pagehead/hd_bg_sitemap.jpg) center center no-repeat;
  background-size: cover;
}
main section.page_header.partner::before {
  background: url(./images/common/pagehead/hd_bg_partner.jpg) center center no-repeat;
  background-size: cover;
}

main section.message .lgs_contain {
  padding-top: 4.5rem;
  padding-bottom: 5rem;
}

main section.message .lgs_contain h3.sect_title {
  font-size: 5rem;
  text-align: center;
}

main section.message .lgs_contain .link_grid {
  margin-top: 0rem;
}

main section.about .lgs_contain {
  padding-top: 5rem;
  padding-bottom: 2rem;
}

main section.about .lgs_contain h3.sect_title {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

main section.about .lgs_contain h3.sect_title .poppins {
  font-size: 5rem;
  line-height: 1.4;
  border-bottom: solid #000 1px;
}

main section.about .lgs_contain h3.sect_title .j_t {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2;
}

main section.about .lgs_contain .infor_table {
  margin-top: 3.5rem;
}

main section.history .lgs_contain {
  padding-top: 8rem;
  padding-bottom: 5rem;
}

main section.history .lgs_contain h3.sect_title {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

main section.history .lgs_contain h3.sect_title .poppins {
  font-size: 5rem;
  line-height: 1.3;
  border-bottom: solid #000 1px;
}

main section.history .lgs_contain h3.sect_title .j_t {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2;
}

main section.history .lgs_contain .history_list {
  margin-top: 3.4rem;
}

main section.history.sub .lgs_contain {
  padding-bottom: 3rem;
}

main section.page_link_banner .lgs_contain {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

main section.consult {
  background: url(./images/top/consult_bg.jpg) top center no-repeat;
  background-size: cover;
}

main section.consult .lg_contain {
  display: block;
  height: 57rem;
}

@media screen and (max-width: 768px) {
  main section.consult .lg_contain {
    height: 50rem;
  }
}

main section.consult .lg_contain .consult_block {
  position: absolute;
  width: 50%;
  right: 0;
  bottom: 5rem;
  padding: 5rem 4rem 4rem 0;
}

@media screen and (max-width: 768px) {
  main section.consult .lg_contain .consult_block {
    width: 80%;
    padding: 3rem 2rem 3rem 0;
  }
}

main section.consult .lg_contain .consult_block::before {
  position: absolute;
  z-index: 0;
  content: "";
  width: 100vw;
  height: 100%;
  left: -5.7rem;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2.4rem 0 0 2.4rem;
}

@media screen and (max-width: 768px) {
  main section.consult .lg_contain .consult_block::before {
    left: -4rem;
  }
}

main section.consult .lg_contain .consult_block h3 {
  position: relative;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  main section.consult .lg_contain .consult_block h3 {
    font-size: 3.5rem;
  }
}

main section.consult .lg_contain .consult_block .ref {
  position: relative;
  margin-top: 2.5rem;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  main section.consult .lg_contain .consult_block .ref {
    font-size: 1.4rem;
  }
}

main section.consult .lg_contain .consult_block .desc {
  position: relative;
  margin-top: 3rem;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.777;
}

@media screen and (max-width: 768px) {
  main section.consult .lg_contain .consult_block .desc {
    margin-top: 2rem;
    font-size: 1.5rem;
  }
}

main section.greeting .lgs_contain {
  padding-top: 4.5rem;
  padding-bottom: 0rem;
}

main section.greeting .lgs_contain h4.sect_title {
  text-align: center;
}

main section.greeting .lgs_contain .ceo_box {
  width: 100%;
  margin-top: 4rem;
}

main section.greeting .lgs_contain .ceo_box .thumb {
  margin-bottom: 3rem;
  width: 100%;
  border-radius: 2rem;
}

main section.greeting .lgs_contain .ceo_box .desc {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.greeting .lgs_contain .ceo_box .sign1 {
  margin-top: 2.4rem;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
  text-align: right;
}

main section.greeting .lgs_contain .ceo_box .sign2 {
  margin-top: 1rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  text-align: right;
}

main section.ceo_history .lgs_contain {
  padding-top: 10rem;
  padding-bottom: 0rem;
}

main section.ceo_history .lgs_contain .history_list {
  margin-top: 4rem;
}

main section.othpositions .lgs_contain {
  padding-top: 9rem;
  padding-bottom: 0rem;
}

main section.othpositions .lgs_contain .pos_list {
  margin-top: 4rem;
  display: table;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.4;
}

main section.affiliate .lgs_contain {
  padding-top: 8rem;
  padding-bottom: 0;
}

main section.affiliate .lgs_contain .organization_list {
  margin-top: 3.5rem;
}

main section.affiliate .lgs_contain .organization_list li {
  width: 30%;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.4;
}

@media screen and (max-width: 768px) {
  main section.affiliate .lgs_contain .organization_list li {
    width: 100%;
  }
}

main section.interviews_lectures .lgs_contain {
  padding-top: 9rem;
  padding-bottom: 4rem;
}

main section.interviews_lectures .lgs_contain .inleresult_list {
  margin-top: 3rem;
}

main section.interviews_lectures .lgs_contain .inleresult_list li {
  width: 31%;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.5;
  word-break: keep-all;
}

@media screen and (max-width: 768px) {
  main section.interviews_lectures .lgs_contain .inleresult_list li {
    width: 100%;
  }
}

main section.philosophy .lgs_contain {
  padding-top: 4rem;
  padding-bottom: 5rem;
}

main section.philosophy .lgs_contain h5 {
  margin: 5.5rem 0 7rem;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  /* font-family: 'YuMincho', 'Yu Mincho', '游明朝体', serif; */
}

@media screen and (max-width: 768px) {
  main section.philosophy .lgs_contain h5 {
    margin: 3rem 0;
    line-height: 2;
  }
}

main section.philosophy .lgs_contain .part_block {
  margin-bottom: 4rem;
  /* font-family: 'YuMincho', 'Yu Mincho', '游明朝体', serif; */
}

@media screen and (max-width: 768px) {
  main section.philosophy .lgs_contain .part_block {
    margin-bottom: 3rem;
  }
}

main section.philosophy .lgs_contain .part_block h6 {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.2;
}

main section.philosophy .lgs_contain .part_block .desc {
  margin-top: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.4;
}

@media screen and (max-width: 768px) {
  main section.philosophy .lgs_contain .part_block .desc {
    font-size: 1.4rem;
    line-height: 2;
  }
}

main section.guideline {
  background: #F1F1F1;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

main section.guideline .lgm_contain {
  padding: 2rem 3rem;
  background: #fff;
  border-radius: 2rem;
}

@media screen and (max-width: 768px) {
  main section.guideline .lgm_contain {
    max-width: 90%;
  }
}

main section.guideline .lgm_contain .guide_list {
  margin: 4.3rem auto 0;
  padding-left: 3rem;
  display: table;
  list-style: cjk-ideographic;
  /* font-family: 'YuMincho', 'Yu Mincho', '游明朝体', serif; */
}

main section.guideline .lgm_contain .guide_list li {
  padding-bottom: 2.37rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.3;
}

main section.tel_fax .lg_contain {
  padding-top: 8rem;
  padding-bottom: 0;
}

main section.tel_fax .lg_contain .tf_grid {
  margin-top: 3rem;
  width: 100%;
}

main section.tel_fax .lg_contain .tf_grid li {
  background: #F8F8F8;
  border-radius: 2rem;
  padding: 2rem 2rem;
}

main section.tel_fax .lg_contain .tf_grid li .place {
  text-align: center;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.2;
}

main section.tel_fax .lg_contain .tf_grid li .inf {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}

main section.scrivener_place .lg_contain {
  padding-top: 5rem;
  padding-bottom: 3rem;
}

main section.scrivener_place .lg_contain .position_block {
  width: 100%;
  margin-bottom: 7.5rem;
}

main section.scrivener_place .lg_contain .position_block:last-of-type {
  margin-bottom: 0;
}

main section.scrivener_place .lg_contain .position_block h5 {
  width: 100%;
  border-bottom: solid #F1F1F1 1rem;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
  margin-top: 50px;
}

main section.scrivener_place .lg_contain .position_block h5:first-child {
  margin-top: 0;
}

main section.scrivener_place .lg_contain .position_block .scrivener_list {
  margin-top: 3rem;
  width: 100%;
}

main section.scrivener_place .lg_contain .position_block .scrivener_list li a {
  display: block;
  padding-bottom: 2rem;
}

main section.scrivener_place .lg_contain .position_block .scrivener_list li a .thumb {
  border-radius: 2rem;
  height: 25rem;
  margin-bottom: 2rem;
}

main section.scrivener_place .lg_contain .position_block .scrivener_list li a .thumb img {
  height: 100%;
}

main section.scrivener_place .lg_contain .position_block .scrivener_list li a .department {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #00A364;
}

main section.scrivener_place .lg_contain .position_block .scrivener_list li a .name {
  position: relative;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  background: url(.././images/common/ico_more2.png) right center no-repeat;
}

main section.scrivener_detail .lgs_contain {
  padding-top: 6rem;
  padding-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  main section.scrivener_detail .lgs_contain {
    padding-bottom: 0rem;
  }
}

main section.scrivener_detail .lgs_contain .position {
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  color: #00A364;
}

main section.scrivener_detail .lgs_contain h5 {
  border-bottom: solid #F1F1F1 1rem;
}

main section.scrivener_detail .lgs_contain h5 p {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
}

main section.scrivener_detail .lgs_contain h5 span {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
}

main section.scrivener_detail .lgs_contain .kv {
  margin-top: 3rem;
  width: 100%;
  height: 40rem;
  border-radius: 2rem;
}

main section.scrivener_detail .lgs_contain .kv img {
  height: 100%;
}

main section.scrivener_detail .lgs_contain .msg {
  margin-top: 5rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
}

main section.scrivener_detail .lgs_contain .infor_block {
  margin-top: 3.6rem;
}

main section.scrivener_detail .lgs_contain .infor_block .label {
  margin-bottom: 0.6rem;
  font-weight: 700;
  font-size: 1.6rem;
  color: #9D9D9D;
}

main section.scrivener_detail .lgs_contain .infor_block .desc {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.scrivener_detail .lgs_contain .infor_block .profile_table {
  width: 100%;
}

main section.scrivener_detail .lgs_contain .infor_block .profile_table tr td {
  padding-bottom: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}

main section.scrivener_detail .lgs_contain .infor_block .profile_table tr td.year {
  width: 8rem;
}

main section.scrivener_detail .lgs_contain .link_line {
  margin-top: 5rem;
}

main section.org_chart .lg_contain {
  padding-top: 6rem;
  padding-bottom: 5rem;
}

@media screen and (max-width: 768px) {
  main section.org_chart .lg_contain {
    padding-bottom: 2rem;
  }
}

main section.org_chart .lg_contain .org {
  display: table;
  margin: auto;
}

main section.office_guidance .lgs_contain {
  padding-top: 5rem;
  padding-bottom: 10rem;
}

main section.office_guidance .lgs_contain .guidance_thumb {
  width: 100%;
  margin-top: 4rem;
}

main section.office_guidance .lgs_contain .guidance_thumb li {
  height: 26.2rem;
}

@media screen and (max-width: 768px) {
  main section.office_guidance .lgs_contain .guidance_thumb li {
    height: auto;
  }
}

main section.business_top .lg_contain {
  padding-top: 5rem;
  padding-bottom: 10rem;
}

main section.business_top .lg_contain .desc {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.business_top .lg_contain .customer_grid {
  margin-top: 4rem;
}

main section.business_type .lgs_contain {
  padding-top: 4rem;
  padding-bottom: 9rem;
}

main section.business_type .lgs_contain h1.business_title {
  position: relative;
  display: inline-block;
  font-weight: 700;
  font-size: 5rem;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  main section.business_type .lgs_contain h1.business_title {
    font-size: 4rem;
    line-height: 1.5;
  }
}

main section.business_type .lgs_contain h1.business_title::before {
  position: absolute;
  z-index: -1;
  content: "";
  width: 100vw;
  height: 4rem;
  background: #F1F1F1;
  right: 0;
  bottom: 0;
}

main section.business_type .lgs_contain h4.sect_title {
  margin-top: 3rem;
}

main section.business_type .lgs_contain .type_content {
  width: 100%;
  margin-top: 4rem;
}

main section.business_type .lgs_contain .type_content .type_thumb {
  float: right;
  margin-left: 4rem;
  margin-bottom: 0.6rem;
}

@media screen and (max-width: 768px) {
  main section.business_type .lgs_contain .type_content .type_thumb {
    max-width: 50%;
    margin-left: 2rem;
  }
}

main section.business_type .lgs_contain .type_content .type_thumb img {
  width: auto;
}

main section.business_type .lgs_contain .type_content .desc {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.business_type .lgs_contain .type_content .type_list {
  margin-top: 2.3rem;
  margin-bottom: 2.5rem;
}

main section.business_type .lgs_contain .type_content .type_list li {
  position: relative;
  margin-bottom: 0.6rem;
  padding-left: 3rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.business_type .lgs_contain .type_content .type_list li::before {
  position: absolute;
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url(./images/common/ico_check1.png) center center no-repeat;
  background-size: contain;
  left: 0.4rem;
  top: 0.5rem;
}

main section.business_type .lgs_contain .type_content .type_numlist {
  margin-top: 3rem;
  margin-bottom: 3rem;
  list-style: none;
  counter-reset: ocnt;
}

main section.business_type .lgs_contain .type_content .type_numlist li {
  position: relative;
  counter-increment: ocnt;
  margin-bottom: 1rem;
  padding-left: 3rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.business_type .lgs_contain .type_content .type_numlist li::before {
  position: absolute;
  content: counter(ocnt);
  width: 1.8rem;
  height: 1.8rem;
  background: #00A364;
  left: 0;
  top: 0.5rem;
  border-radius: 0.3rem;
  text-align: center;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8rem;
  color: #fff;
}

main section.business_flow {
  background: #F1F1F1;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

main section.business_flow .lgs_contain {
  background: #fff;
  border-radius: 2rem;
  padding-top: 3rem;
  padding-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  main section.business_flow .lgs_contain {
    max-width: 94%;
  }
}

main section.business_flow .lgs_contain .flow_block {
  padding: 0 6rem;
}

@media screen and (max-width: 768px) {
  main section.business_flow .lgs_contain .flow_block {
    padding: 0 1.5rem;
  }
}

main section.business_flow .lgs_contain .flow_block .flow_clist {
  display: table;
  margin-top: 4rem;
  list-style: none;
  counter-reset: cnt;
}

main section.business_flow .lgs_contain .flow_block .flow_clist li {
  position: relative;
  padding-left: 6rem;
  padding-bottom: 2.2rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  counter-increment: cnt;
}

main section.business_flow .lgs_contain .flow_block .flow_clist li::before {
  position: absolute;
  z-index: 10;
  content: counter(cnt);
  left: 0;
  top: -0.6rem;
  display: inline-block;
  padding-left: 1.1rem;
  background: #7ED0B0;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  font-family: "Poppins";
  font-size: 2.4rem;
  line-height: 4rem;
  font-style: italic;
  color: #fff;
}

main section.business_flow .lgs_contain .flow_block .flow_clist li::after {
  position: absolute;
  z-index: 5;
  content: "";
  width: 6px;
  height: 100%;
  background: #7ED0B0;
  left: 1.7rem;
  top: 0;
}

main section.business_flow .lgs_contain .flow_block .flow_clist li:last-of-type::after {
  content: unset;
}
main section.business_flow .lgs_contain .flow_block .desc{
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 4rem;

}

main section.business_flow .lgs_contain .flow_block .ref {
  margin-top: 1.5rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}

main section.business_guide .lgs_contain {
  padding-top: 10rem;
  padding-bottom: 9rem;
}

main section.business_guide .lgs_contain h4 {
  margin-bottom: 3rem;
}

main section.business_guide .lgs_contain h4 p.marker_ani {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.458;
}

main section.business_guide .lgs_contain .desc {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.news_page .lg_contain {
  padding-top: 5rem;
  padding-bottom: 10rem;
}

main section.news_page .lg_contain .filter_grid {
  width: 100%;
  justify-content: flex-end;
  position: relative;
}

/* main section.news_page .lg_contain .filter_grid .filter_block {
  position: relative;
} */
@media screen and (max-width: 768px) {
  main section.news_page .lg_contain .filter_grid .filter_block {
    width: 100%;
    margin-bottom: 3rem;
  }
}

main section.news_page .lg_contain .filter_grid .filter_block .lbl,
main section.news_page .lg_contain .filter_grid .filter_block .searchandfilter h4 {
  margin-bottom: 0.5rem;
  font-weight: 700;
  font-size: 1.4rem;
}

main section.news_page .lg_contain .filter_grid .filter_block .input {
  position: relative;
}

main section.news_page .lg_contain .filter_grid .filter_block .input input[type=text],
input[name="_sf_search[]"] {
  position: relative;
  width: 47.5rem;
  height: 5rem;
  background: #F1F1F1;
  padding: 0 5rem 0 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  margin-right: 2rem;
}

@media screen and (max-width: 768px) {
  main section.news_page .lg_contain .filter_grid .filter_block .input input[type=text] {
    width: 100%;
  }
}

main section.news_page .lg_contain .filter_grid .filter_block .input input[type=text]:focus {
  outline: none;
}

li.sf-field-search label {
  position: relative;
}

main section.news_page .lg_contain .filter_grid .filter_block .input::after {
  position: absolute;
  content: "";
  width: 2.3rem;
  height: 100%;
  right: 1.5rem;
  cursor: pointer;
  background: url(./images/common/ico_magnifier.png) center center no-repeat;
  background-size: contain;
}

main section.news_page .lg_contain .filter_grid .filter_block .control_line select,
.searchandfilter select.sf-input-select {
  border: solid #E1E1E1 1px;
  margin-right: 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 5rem;
  background: url(./images/common/ico_combo.png) 95% center no-repeat;
  font-weight: 500;
  font-size: 1.6rem;
  padding: 0 3rem 0 1rem;
}

.searchandfilter ul {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: wrap;
}


main section.news_page .lg_contain .filter_grid .filter_block .control_line select.category,
select.sf-input-select[name="_sft_category[]"] {
  width: 23rem;
}

main section.news_page .lg_contain .filter_grid .filter_block .control_line select.year,
select.sf-input-select[name="_sft_post_tag[]"] {
  width: 14rem;
}

@media screen and (max-width:1042px) {
  li.sf-field-search {
    width: 100%;
  }

  .searchandfilter ul {
    justify-content: flex-start;
  }

  li.sf-field-search label {
    display: block;
  }

  input[name="_sf_search[]"] {
    max-width: 390px;
    width: 100%;
  }

  select.sf-input-select[name="_sft_category[]"] {
    width: 15rem;
  }

  select.sf-input-select[name="_sft_post_tag[]"] {
    width: 10rem;
  }
}

@media screen and (max-width:768px) {
  .searchandfilter ul {
    justify-content: space-between;
  }
}

.searchandfilter select.sf-input-select {
  min-width: auto;
}

.searchandfilter h4 {
  padding: 0;
}

main section.news_page .lg_contain .filter_grid .filter_block .control_line select:focus {
  outline: none;
}

main section.news_page .lg_contain .filter_grid .filter_block .control_line button,
.searchandfilter input[type="submit"] {
  background: #333333;
  width: 10rem;
  height: 5rem;
  font-weight: 700;
  font-size: 1.4rem;
  color: #fff;
}

main section.news_page .lg_contain .news_list {
  margin-top: 6rem;
}

main section.news_detail .lgs_contain {
  padding-top: 5rem;
  padding-bottom: 10rem;
}

main section.news_detail .lgs_contain .featured {
  position: relative;
}

main section.news_detail .lgs_contain .featured .thumb {
  width: 100%;
  height: 40rem;
  border-radius: 2rem;
}

main section.news_detail .lgs_contain .featured .thumb img {
  height: 100%;
}

main section.news_detail .lgs_contain .featured .category {
  position: absolute;
  left: 0;
  top: 2rem;
  display: inline-block;
  background: #00A364;
  border-radius: 0 1.5rem 1.5rem 0;
  padding: 0 1rem 0 2rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 3.2rem;
  color: #fff;
}

main section.news_detail .lgs_contain .main_infor {
  margin-top: 2rem;
  background: #F8F8F8;
  border-radius: 2rem;
  padding: 1.5rem 2rem;
}

main section.news_detail .lgs_contain .main_infor .label {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.75;
}

main section.news_detail .lgs_contain .main_infor .date {
  margin-top: 1rem;
  font-size: 1.4rem;
  color: #9D9D9D;
}

main section.news_detail .lgs_contain h5 {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 1.8rem;
  padding-bottom: 1rem;
  border-bottom: solid #F1F1F1 5px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.666;
}

main section.news_detail .lgs_contain h5::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: -5px;
  width: 10rem;
  height: 5px;
  background: #7ED0B0;
}

main section.news_detail .lgs_contain p {
  margin-bottom: 1.3rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

main section.news_detail .lgs_contain .link_line {
  margin-top: 5.5rem;
}

main section.faq_list .lgs_contain {
  padding-top: 6.2rem;
  padding-bottom: 8rem;
}

@media screen and (max-width: 768px) {
  main section.faq_list .lgs_contain {
    padding-bottom: 5rem;
  }
}

main section.faq_list .lgs_contain ul.faq_grid {
  width: 100%;
}

main section.faq_list .lgs_contain ul.faq_grid li {
  padding: 0 0;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
  main section.faq_list .lgs_contain ul.faq_grid li {
    padding: 0 0rem;
  }
}

main section.faq_list .lgs_contain ul.faq_grid li .q_line {
  position: relative;
  width: 100%;
  padding: 1.3rem;
  padding-left: 4.5rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.2;
  border-radius: 1rem;
  background: #F1F1F1;
}

main section.faq_list .lgs_contain ul.faq_grid li .q_line::before {
  position: absolute;
  content: "Q";
  font-family: "Poppins";
  font-weight: 600;
  font-size: 3.2rem;
  top: 0.4rem;
  left: 1.1rem;
}

main section.faq_list .lgs_contain ul.faq_grid li .a_block {
  position: relative;
  padding: 1rem;
  padding-left: 4.5rem;
}

main section.faq_list .lgs_contain ul.faq_grid li .a_block p {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  main section.faq_list .lgs_contain ul.faq_grid li .a_block {
    margin-bottom: 2rem;
  }
}

main section.faq_list .lgs_contain ul.faq_grid li .a_block::before {
  position: absolute;
  content: "A";
  top: 0rem;
  left: 1rem;
  font-family: "Poppins";
  font-weight: 600;
  font-size: 3.2rem;
  color: #00A364;
}

main section.consultation .lgs_contain, main section.contact_form .lgs_contain {
  padding-top: 6rem;
  padding-bottom: 10rem;
}

main section.consultation .lgs_contain .desc, main section.contact_form .lgs_contain .desc {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
}

main section.consultation .lgs_contain .contact_grid, main section.contact_form .lgs_contain .contact_grid {
  margin-top: 3.4rem;
}

@media screen and (max-width: 768px) {
  main section.consultation .lgs_contain .contact_grid.check li, main section.contact_form .lgs_contain .contact_grid.check li {
    border-bottom: solid #BCBCBC 1px;
  }
}

main section.consultation .lgs_contain .contact_grid li, main section.contact_form .lgs_contain .contact_grid li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  min-height: 4.7rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  main section.consultation .lgs_contain .contact_grid li, main section.contact_form .lgs_contain .contact_grid li {
    margin-bottom: 3rem;
  }
}

main section.consultation .lgs_contain .contact_grid li .label, main section.contact_form .lgs_contain .contact_grid li .label {
  position: relative;
  width: 26rem;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.444;
}

@media screen and (max-width: 768px) {
  main section.consultation .lgs_contain .contact_grid li .label, main section.contact_form .lgs_contain .contact_grid li .label {
    width: 100%;
    padding-bottom: 1rem;
  }
}

main section.consultation .lgs_contain .contact_grid li .label.require::after, main section.contact_form .lgs_contain .contact_grid li .label.require::after {
  position: absolute;
  transform: translate(0, -50%);
  right: 2.5rem;
  top: 50%;
  content: "必須";
  display: inline-block;
  width: 5.5rem;
  border: solid #FF2626 1px;
  text-align: center;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.5rem;
  color: #FF2626;
}

@media screen and (max-width: 768px) {
  main section.consultation .lgs_contain .contact_grid li .label.require::after, main section.contact_form .lgs_contain .contact_grid li .label.require::after {
    position: relative;
    transform: unset;
    top: unset;
    right: unset;
    margin-left: 2rem;
  }
}

main section.consultation .lgs_contain .contact_grid li .label.textarea, main section.contact_form .lgs_contain .contact_grid li .label.textarea {
  align-self: flex-start;
  line-height: 2.6;
}

main section.consultation .lgs_contain .contact_grid li .input, main section.contact_form .lgs_contain .contact_grid li .input {
  width: calc(100% - 26rem);
}

main section.consultation .mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .input {
  font-size: 1.8rem;
}

input.submit_btn {
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  main section.consultation .lgs_contain .contact_grid li .input, main section.contact_form .lgs_contain .contact_grid li .input {
    width: 100%;
    padding-bottom: 1rem;
  }
}

main section.consultation .lgs_contain .contact_grid li .input input[type=text], main section.consultation .lgs_contain .contact_grid li .input input[type=email], main section.contact_form .lgs_contain .contact_grid li .input input[type=text] {
  width: 100%;
  height: 4.7rem;
  border: solid #BBBBBB 1px;
  padding: 1rem;
  font-weight: 500;
  font-size: 1.8rem;
}

span.mwform-tel-field input {
  width: auto !important;
}

@media screen and (max-width:768px) {
  span.mwform-tel-field input {
    width: 110px !important;
  }
}

main section.consultation .lgs_contain .contact_grid li .input input[type=text]:focus, main section.contact_form .lgs_contain .contact_grid li .input input[type=text]:focus {
  outline: none;
}

main section.consultation .lgs_contain .contact_grid li .input input[type=radio], main section.contact_form .lgs_contain .contact_grid li .input input[type=radio] {
  margin-right: 2rem;
  width: 3rem;
  height: 3rem;
  border: solid #BCBCBC 1px;
}

main section.consultation .lgs_contain .contact_grid li .input label, main section.contact_form .lgs_contain .contact_grid li .input label {
  display: flex;
  align-items: center;
  margin-right: 5rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}

main section.consultation .lgs_contain .contact_grid li .input select, main section.contact_form .lgs_contain .contact_grid li .input select {
  width: 29.5rem;
  height: 4.7rem;
  border: solid #BBBBBB 1px;
  padding: 0 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url(./images/common/ico_combo.png) 95% center no-repeat;
  font-weight: 500;
  font-size: 1.8rem;
}

main section.consultation .lgs_contain .contact_grid li .input select:focus, main section.contact_form .lgs_contain .contact_grid li .input select:focus {
  outline: none;
}

main section.consultation .lgs_contain .contact_grid li .input p, main section.contact_form .lgs_contain .contact_grid li .input p {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.444;
}

main section.consultation .lgs_contain .contact_grid li .input textarea, main section.contact_form .lgs_contain .contact_grid li .input textarea {
  margin-top: 1rem;
  width: 100%;
  height: 21.6rem;
  padding: 1rem;
  border: solid #BBBBBB 1px;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5;
}

main section.consultation .lgs_contain .contact_grid li .input textarea:focus, main section.contact_form .lgs_contain .contact_grid li .input textarea:focus {
  outline: none;
}

main section.consultation .lgs_contain .policy_link, main section.contact_form .lgs_contain .policy_link {
  display: table;
  margin: 5rem auto 0;
  text-decoration: underline;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}

main section.consultation .lgs_contain .agr_chk, main section.contact_form .lgs_contain .agr_chk {
  display: table;
  margin: 3rem auto 0;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5;
}

main section.consultation .lgs_contain .agr_chk input[type=checkbox], main section.contact_form .lgs_contain .agr_chk input[type=checkbox] {
  margin-right: 0.5rem;
  border: solid #BCBCBC 1px;
  width: 3rem;
  height: 3rem;
}

main section.consultation .lgs_contain .submit_btn, main section.contact_form .lgs_contain .submit_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 5rem auto 0;
  border: solid #00A364 3px;
  border-radius: 5rem;
  max-width: 38rem;
  width: 100%;
  height: 8rem;
  font-weight: 700;
  font-size: 2.4rem;
  background: url(./images/common/ico_more1.png) 95% center no-repeat;
}

main section.consultation .lgs_contain .submit_btn::after, main section.contact_form .lgs_contain .submit_btn::after {
  position: absolute;
  content: "";
}

main section.consultation .lgs_contain .back_link, main section.contact_form .lgs_contain .back_link {
  display: table;
  margin: 5rem auto 0;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  text-decoration: underline;
}

input[name="submitBack"] {
  background: none;
  padding: auto;
  padding: 1px 6px;
  cursor: pointer;
}

main section.policy .lgs_contain {
  padding-top: 6rem;
  padding-bottom: 10rem;
}

main section.policy .lgs_contain .desc {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
}

main section.policy .lgs_contain dl {
  margin-bottom: 2.4rem;
  font-size: 1.6rem;
  line-height: 2;
}

main section.policy .lgs_contain dt {
  font-weight: 500;
}

main section.policy .lgs_contain dd {
  margin-left: 3.2rem;
}

main section.policy .lgs_contain dd li {
  margin-left: 1.6rem;
  text-indent: -1.6rem;
}

main section.policy .lgs_contain h6 {
  margin-top: 2.4rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.777;
  color: #00A364;
}

main section.policy .lgs_contain .sign_infor {
  margin-top: 4rem;
}

main section.sitemap .lgs_contain {
  padding-top: 5.5rem;
  padding-bottom: 10rem;
}

main section.sitemap .lgs_contain .map_link {
  width: 100%;
  margin-bottom: 4.9rem;
}

@media screen and (max-width: 768px) {
  main section.sitemap .lgs_contain .map_link {
    margin-bottom: 3rem;
  }
}

main section.sitemap .lgs_contain .map_link .lg_link {
  width: 100%;
  display: inline-flex;
  align-items: center;
  position: relative;
  border-bottom: solid #333 2px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2.3;
}

main section.sitemap .lgs_contain .map_link .lg_link::before {
  position: relative;
  content: "";
  margin-right: 1rem;
  width: 1.7rem;
  height: 1.7rem;
  background: url(./images/common/ico_link4.png) center center no-repeat;
  background-size: contain;
}

main section.sitemap .lgs_contain .map_link .sub_link {
  width: 100%;
}

main section.sitemap .lgs_contain .map_link .sub_link .sm_link {
  position: relative;
  margin-right: 5rem;
  display: inline-flex;
  align-items: center;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 2.7;
}

main section.sitemap .lgs_contain .map_link .sub_link .sm_link::before {
  position: relative;
  content: "";
  margin-right: 1rem;
  width: 1rem;
  height: 1.2rem;
  background: url(./images/common/ico_link3.png) center center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  main {
    --radio-size: 2rem;
  }
}

main input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  height: var(--radio-size);
  width: var(--radio-size);
  outline: none;
  margin: 0;
  cursor: pointer;
  border: 2px solid var(--radio);
  background: transparent;
  border-radius: 50%;
  display: grid;
  justify-self: end;
  justify-items: center;
  align-items: center;
  overflow: hidden;
  transition: border 0.5s ease;
  margin-right: 10px;
}

main input[type=radio]::before, main input[type=radio]::after {
  content: "";
  display: flex;
  justify-self: center;
  border-radius: 50%;
}

main input[type=radio]::before {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--background);
  z-index: 1;
  opacity: var(--opacity, 1);
}

main input[type=radio]::after {
  position: relative;
  width: 50%;
  height: 50%;
  background: var(--radio-checked);
  top: var(--y, 100%);
  transition: top 0.5s cubic-bezier(0.48, 1.97, 0.5, 0.63);
}

main input[type=radio]:checked {
  --radio: var(--radio-checked);
}

main input[type=radio]:checked::after {
  --y: 0%;
  -webkit-animation: stretch-animate 0.3s ease-out 0.17s;
  animation: stretch-animate 0.3s ease-out 0.17s;
}

main input[type=radio]:checked::before {
  --opacity: 0;
}

main input[type=radio]:checked~input[type=radio]::after {
  --y: -100%;
}

main input[type=radio]:not(:checked)::before {
  --opacity: 1;
  transition: opacity 0s linear 0.5s;
}

/*# sourceMappingURL=style.css.map */


main .mwform-tel-field {
  display: flex;
  align-items: center;
}

main .mwform-tel-field input {
  margin: 0 5px;
}

main .mwform-tel-field input:first-child {
  margin-left: 0;
}
.office_guidance .tel{
  font-size: 1.4rem;
text-align: left;
color: #333;
margin-top: 15px;
line-height: 24px;
}

.office_guidance .map_link{
  padding: 8px 20px;
  border: 2px solid #00A364;
  border-radius: 58px;
font-weight: bold;
font-size: 1.4rem;
text-align: center;
color: #333;
margin-top: 20px;
display: inline-block;

}
.office_guidance .map_link svg{
  fill:#00a364;
  margin-right: 10px;
  display: inline;
}
.partner_top .customer_grid {
  max-width: 890px;
  margin: 0 auto;
}

/* sougi */
.sougi_top .desc{
  text-align: center;
}

main section.partner_flow .lgs_contain {
  padding-top: 3rem;
  padding-bottom: 2rem;
  margin-top: 24px;
}
main section.partner_flow {
  background-color: #F1F1F1;
  padding: 50px 70px;
}
main section.partner_flow .lgs_contain .merit_blocks{
  display: flex;
  justify-content: space-between;
}
main section.partner_flow .lgs_contain .merit_blocks .merit_block{
  border-radius: 20px;
  background-color: #fff;
  padding: 30px;
  width: calc(50% - 12.5px);
}
main section.partner_flow .lgs_contain .merit_blocks .merit_block h5{
font-weight: bold;
font-size: 20px;
text-align: center;
color: #00a364;
line-height: 29px;
}

main section.partner_flow .lgs_contain .merit_blocks .merit_block ul{
  font-weight: 500;
  font-size: 16px;
  text-align: left;
  color: #333;
  padding-left: 26px;
  margin-top: 20px;
  }

  main section.partner_flow .lgs_contain .merit_blocks .merit_block ul li{
    margin-top: 16px;
    position: relative;
  }
  main section.partner_flow .lgs_contain .merit_blocks .merit_block ul li::before{
    content: "";
    background-color: #7ED0B0;
    width: 16px;
    height: 16px;
    position: absolute;
    left: -26px;
    top: 50%;
    transform: translate(0, -50%);
  }
  
main section.partner_flow .lgs_contain .merit_blocks .merit_block ul li:first-child{
  margin-top: 0;
}

main section.partner_flow .lgs_contain .type_content .desc{
font-weight: 500;
font-size: 16px;
line-height: 28px;
text-align: center;

}
main section.partner_white{
  padding: 50px 70px;
} 
.lgs_contain + .lgs_contain{
  margin-top: 50px;
}
h4.two-row.sect_title p{
font-weight: bold;
font-size: 3.0rem;
line-height: 4.4rem;

}

@media screen and (max-width: 768px) {
  main section.partner_flow {
    background-color: #F1F1F1;
    padding: 40px 0 0 ;
}
main section.partner_flow .lgs_contain .merit_blocks {
    flex-wrap: wrap;
  }
  main section.partner_flow .lgs_contain .merit_blocks .merit_block {
    width: 100%;
    margin-bottom: 20px;
}
}