@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Sawarabi+Gothic&display=swap");
:root {
  --font_color: #595959;
  --header_color: #595959;
  --white: #fff;
  --base-color: #0071B9;
  --light-blue: #32AEFC;
  --blue: #0071B9;
  --red: #EF2366;
  --gray: #707070;
  --bg-gray: #F7F7F7;
  font-size: 10px;
}

@font-face {
  font-family: "源ノ明朝";
  src: url(“font/SourceHanSerif-Bold.woff”) format(“woff”), url(“font/SourceHanSerif-Bold.otf”) format(“opentype”);
}
.wrap-primary {
  max-width: 1168px;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
  .wrap-primary {
    padding: 0 1rem;
  }
}
.wrap-inner-leftcontent {
  margin: 0;
  width: 68.16%;
}

@media screen and (max-width: 765px) {
  .wrap-inner-leftcontent {
    margin: 0 auto;
    width: 100%;
    padding: 0 3vw;
    box-sizing: border-box;
  }
}
.l-sidebar .wrap-primary {
  display: flex;
}
@media screen and (max-width: 765px) {
  .l-sidebar .wrap-primary {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
}
.l-sidebar #l-sidebar_left {
  width: 100%;
  margin-right: 5rem;
}
@media screen and (max-width: 765px) {
  .l-sidebar #l-sidebar_left {
    margin-right: 0;
  }
}
.l-sidebar #l-sidebar_right {
  min-width: 29.5rem;
  max-width: 29.5rem;
}
@media screen and (max-width: 765px) {
  .l-sidebar #l-sidebar_right {
    max-width: 100%;
  }
}

span {
  font-weight: inherit;
  font-size: inherit;
}

.maincontent_area {
  width: 100%;
  position: relative;
}
.maincontent_area #sidebar-area-pc,
.maincontent_area #sidebar-area-sp {
  max-width: 1200px;
  position: relative;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  z-index: 100;
}
.maincontent_area #main-area {
  width: 70%;
}

@media screen and (max-width: 765px) {
  #sidebar-area-pc .wrap-inner-righcontent,
  #sidebar-area-sp .wrap-inner-righcontent {
    padding: 0 !important;
    margin: 4rem auto 0 auto;
  }
}
body {
  font-size: 1.6rem;
  font-family:"メイリオ", Meiryo, "MS Pゴシック","MS PGothic",  "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  color: var(--font_color);
  font-weight: 500;
}

/* font-familyを一回変えてみるよ
 * 元↓
 * font-family: "メイリオ", Meiryo,"Sawarabi Gothic", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  "MS Pゴシック", "MS PGothic", sans-serif;
 * 
 *  */


body {
  background-color: var(--bg-color-A);
}

main {
  padding-top: 11.9rem;
}
@media screen and (max-width: 1200px) {
  main {
    padding-top: 6.7rem;
  }
}

b {
  font-weight: 900;
}

strong {
  font-size: 1.8rem;
  font-weight: 900;
}

@media screen and (max-width: 765px) {
  main {
    padding-top: 6rem;
  }
}
a {
  text-decoration: none;
  color: var(--font_color);
}

a:hover {
  color: var(--base-color);
}

img {
  width: 100%;
  vertical-align: bottom;
}

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

.download-btn {
  display: flex;
  background-color: var(--blue-gray);
  border-radius: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 5em 0 1em;
  color: var(--white);
  font-size: 1rem;
  line-height: 2.6rem;
  height: 2.6rem;
  box-sizing: border-box;
  position: relative;
}
.download-btn:after {
  content: "";
  background: url(../image/icon/icon-download.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 2em;
  position: absolute;
}

@media screen and (min-width: 768px) {
  body {
    min-width: none !important;
  }
}
main {
  width: 100%;
  overflow: hidden;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

ul {
  list-style: none;
}

@media screen and (max-width: 765px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.l-inner_container {
  max-width: 1128px;
  margin: 0 auto;
}

#searchform .search_bar_block {
  display: flex;
  position: relative;
}
@media screen and (max-width: 765px) {
  #searchform .search_bar_block {
    flex-direction: column;
    justify-content: flex-start;
  }
}
#searchform input[type=submit] {
  display: hidden;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  border: none;
  outline: none;
  background: var(--base-color);
}
@media screen and (max-width: 765px) {
  #searchform input[type=submit] {
    top: 2.9rem;
  }
}
#searchform input[type=submit]:hover {
  opacity: 0.4;
}
#searchform .searchform {
  position: relative;
}
#searchform .searchfield::-moz-placeholder {
  left: 2em;
  margin: auto;
  font-size: 1.2rem;
  font-weight: 900;
  height: -moz-fit-content;
  height: fit-content;
  color: #C3C3C3;
}
#searchform .searchfield::placeholder {
  left: 2em;
  margin: auto;
  font-size: 1.2rem;
  font-weight: 900;
  height: -moz-fit-content;
  height: fit-content;
  color: #C3C3C3;
}
#searchform .searchfield {
  font-size: 1.6rem;
  margin: 0 0 0 1.7rem;
  line-height: 4.8rem;
  height: 4.8rem;
  text-indent: 1em;
  border: solid 1px #C3C3C3;
  border-radius: 5rem;
  background-color: var(--white);
  width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  #searchform .searchfield {
    margin: 0;
  }
}
#searchform .searchfield:focus, #searchform .searchfield:focus-visible {
  border: solid 1px #C3C3C3 !important;
  outline: none;
}
#searchform .searchfield:focus::-moz-placeholder {
  color: transparent;
}
#searchform .searchfield:focus::placeholder {
  color: transparent;
}
#searchform .search_bar_block:after {
  content: "";
  background-image: url(../image/icon/icon-search.svg);
  background-size: cover;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 1.8rem;
  width: 2rem;
  height: 2rem;
  z-index: 10;
}
@media screen and (max-width: 765px) {
  #searchform .search_bar_block:after {
    top: 2.8rem;
  }
}
#searchform .screen-reader-text {
  position: relative;
  margin: auto;
  font-size: 1.8rem;
  font-weight: 900;
  height: -moz-fit-content;
  height: fit-content;
  color: var(--font_color);
  white-space: nowrap;
}
@media screen and (max-width: 765px) {
  #searchform .screen-reader-text {
    margin-bottom: 1rem;
  }
}
#searchform .searchsubmit {
  font-family: FontAwesome;
  font-size: 1.8rem;
  position: relative;
  padding-right: 1.7rem;
  cursor: pointer;
  color: var(--base-color);
  border: none;
  background: transparent;
}
#searchform .searchsubmit:hover {
  opacity: 0.6;
}

#front-page .link-list {
  display: flex;
  flex-direction: row;
  gap: 1em;
}
#front-page .link-list a {
  color: var(--white);
}
#front-page .link-list .link-item {
  width: inherit;
}
#front-page .link_btn {
  display: inline-block;
  position: relative;
  margin: 0 auto;
  text-align: center;
  background: var(--font_color);
  color: var(--white);
  line-height: 6.6rem;
  padding: 0 6rem;
  font-weight: bold;
  margin-top: 6rem;
  border-left: 18px solid var(--base-color);
  text-indent: -18px;
  z-index: 1;
  transition: all 0.3s ease;
  border-top: 1px solid transparent;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
#front-page .link_btn::before {
  content: "";
  background: var(--white);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
  z-index: -1;
}
#front-page .link_btn::after {
  content: "";
  display: block;
  background: url(../image/icon/arrow.svg);
  width: 1.8rem;
  height: 0.4rem;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 1.5rem;
}
#front-page .link_btn:hover {
  color: var(--base-color) !important;
  border-top: 1px solid var(--base-color);
  border-right: 1px solid var(--base-color);
  border-bottom: 1px solid var(--base-color);
  opacity: 1;
}
#front-page .link_btn:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
#front-page .link_btn:hover:after {
  background: url(../image/icon/arrow_green.svg);
}
#front-page .link_list {
  text-align: center;
}

a {
  overflow: hidden;
}
a .logo,
a .image_area,
a .image,
a .thumb {
  overflow: hidden;
}
a .logo img,
a .image_area img,
a .image img,
a .thumb img {
  transition: all 0.3s ease;
}
a:hover .logo img,
a:hover .image_area img,
a:hover .image img,
a:hover .thumb img {
  transform: scale(1.2);
  transition: all 0.3s ease;
}

.link_btnA {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  background-color: var(--base-color);
  border-radius: 5px;
  border: 1px solid transparent;
  color: var(--white);
  max-width: 26.8rem;
  height: 7.8rem;
  transition-duration: 0.2s;
  margin: 0 auto;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.link_btnA span {
  font-family: "Open Sans", serif;
  color: inherit;
  font-style: italic;
  font-weight: bold;
  font-size: 1.6rem;
  transition-duration: 0.2s;
}
.link_btnA::after {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../image/common/link_arrowA_white.png);
  background-repeat: no-repeat;
  background-size: cover;
  transition-duration: 0.2s;
}
.link_btnA:hover {
  background-color: var(--white);
  border: 1px solid var(--base-color);
}
.link_btnA:hover::after {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-image: url(../image/common/link_arrowA_blue.png);
  background-repeat: no-repeat;
  background-size: cover;
  transition-duration: 0.2s;
}

.link_btnA_wh {
  background-color: var(--white);
  border: 1px solid var(--base-color);
  color: var(--blue);
}
.link_btnA_wh::after {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
  transition-duration: 0.2s;
  background-image: url(../image/common/link_arrowA_blue.png);
}
.link_btnA_wh:hover {
  color: var(white);
  background-color: var(--blue);
  border: 1px solid transparent;
}
.link_btnA_wh:hover span {
  color: var(--white);
}
.link_btnA_wh:hover::after {
  background-image: url(../image/common/link_arrowA_white.png);
}

.link_btnA_red {
  background-color: var(--red);
  border: 1px solid var(--red);
  color: var(--white);
}
.link_btnA_red::after {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
  transition-duration: 0.2s;
  background-image: url(../image/common/link_arrowA_white.png);
}
.link_btnA_red:hover {
  color: var(--red);
  background-color: var(--white);
  border: 1px solid transparent;
}
.link_btnA_red:hover span {
  color: var(--red);
}
.link_btnA_red:hover::after {
  background-image: url(../image/common/link_arrowA_red.png);
}

.btn_nonicon::after {
  display: none;
}
.btn_nonicon:hover {
  color: var(--blue);
}
.btn_nonicon:hover::after {
  display: none;
}

.font-en {
  font-family: "Open Sans", serif;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.05em;
  font-size: 1.3rem;
}

.link_btnB {
  display: block;
  align-items: center;
  position: relative;
  width: 100%;
  text-align: center;
  font-weight: 500;
  box-sizing: border-box;
  background-color: #ccc;
  border-radius: 5px;
  border: 1px solid transparent;
}
.link_btnB::after {
  content: "";
  display: block;
  width: 7px;
  height: 12px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../image/common/link_arrowB_white.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.btn_white {
  background-color: var(--white);
  color: var(--blue);
  padding: 1.5rem 2.5rem;
  max-width: 27.3rem;
  border-radius: 50px;
}
.btn_white::after {
  background: url(../image/common/link_arrowB_blue.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
.btn_white:hover {
  background-color: var(--blue);
  color: var(--white);
}
.btn_white:hover::after {
  background: url(../image/common/link_arrowB_white.svg);
}

.link_btnC {
  display: flex;
  align-items: baseline;
  gap: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.75;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
}
.link_btnC::before {
  content: "";
  display: inline-block;
  background-image: url(../image/common/arrow_circle_blue.png);
  width: 2.3rem;
  min-width: 2.3rem;
  height: 2.3rem;
  min-height: 2.3rem;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  top: 6px;
}
.link_btnC:hover {
  opacity: 0.6;
}

#lower-page .link-list {
  display: flex;
  flex-direction: row;
  gap: 1em;
}
#lower-page .link-list a {
  color: var(--white);
}
#lower-page .link-list .link-item {
  width: inherit;
}
#lower-page .case_content .link_list {
  display: flex;
  justify-content: center;
}
#lower-page .case_content .link_bg_green {
  margin: 5rem 1rem 0 1rem;
}
#lower-page .case_content .link_bg_green::before {
  background: url(../case/dummy_image/link_bg.jpg);
}
#lower-page .link_list {
  text-align: center;
}

.link-btn-border {
  border: 3px solid var(--font_color);
  border-radius: 5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  width: 100%;
  text-align: center;
  color: var(--font_color);
  font-size: 1.4rem;
  background-color: var(--white);
  display: inline-block;
  font-weight: 700;
}

.category-tag {
  white-space: nowrap;
  text-align: center;
  padding: 10px 2.3rem;
  border-radius: 5rem;
  font-size: 1.4rem;
  display: inline-block;
  background: #000;
  color: var(--white);
  margin-right: 0.2rem;
  min-width: 12rem;
  box-sizing: border-box;
  margin-bottom: 5px;
}
.category-tag:hover {
  opacity: 0.6;
  color: #fff !important;
}
.category-tag a {
  display: block;
  width: 100%;
  height: 100%;
}

.unpublished {
  pointer-events: none;
  color: var(--gray) !important;
}

.reception-icon::before,
.new-icon::before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../image/icon/new.svg);
  width: 37px;
  height: 37px;
  background-repeat: no-repeat;
  background-size: contain;
  top: -18.5px;
  left: 1rem;
  z-index: 100;
}

.reception-icon::before {
  background-image: url(../image/icon/reseption-icon.svg);
  width: 6rem;
  height: 6rem;
}

#front-page .reception-icon::before {
  width: 37px;
  height: 37px;
}

.dl-btn a {
  background-color: var(--red);
  padding: 0 2.7rem;
}
.dl-btn a:hover {
  color: var(--red);
  border: 1px solid var(--red);
  background-color: transparent;
}

.contact-btn {
  margin-left: 3px;
}
.contact-btn a {
  padding: 0 4rem;
  background-color: var(--blue);
}
.contact-btn a:hover {
  color: var(--blue);
  border: 1px solid var(--blue);
  background-color: transparent;
}

.support-btn a {
  background-color: var(--base-color);
}
.support-btn a:hover {
  color: var(--base-color);
  border: 1px solid var(--base-color);
  background-color: transparent;
}

@media screen and (max-width: 765px) {
  .section_head .ja {
    margin-left: 0 !important;
  }
  .case_list {
    gap: 3rem !important;
  }
}
.pager {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 0 0 0;
}
@media screen and (max-width: 765px) {
  .pager {
    padding: 4rem 0 0 0;
  }
}
.pager .pager_bar {
  display: flex;
  align-items: center;
  gap: 11px;
}
@media screen and (max-width: 765px) {
  .pager .pager_bar {
    gap: 5px;
  }
}
.pager .page-numbers {
  background-color: #D6DCE2;
  border: 1px solid transparent;
  width: 5rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #595959;
  font-size: 1.6rem;
  overflow: hidden;
  border-radius: 5px;
}
.pager .page-numbers:hover {
  background-color: #9DACBB;
  color: var(--white);
}
.pager .current {
  background-color: #9DACBB;
  color: var(--white);
}
.pager .prev,
.pager .next {
  position: relative;
}
.pager .prev::before,
.pager .next::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 6px;
  height: 6px;
  border-top: 1px solid #595959;
  border-right: 1px solid #595959;
}
.pager .prev:hover,
.pager .next:hover {
  background-color: #9DACBB;
}
.pager .prev:hover::before,
.pager .next:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.pager .prev::before {
  left: 4px;
  transform: rotate(-135deg);
}
.pager .next::before {
  right: 4px;
  transform: rotate(45deg);
}

.breadcrumb {
  padding: 1rem 0;
  font-size: 1.4rem;
  color: var(--font_color);
  margin: 0 1rem;
}
.breadcrumb ul {
  display: flex;
  padding: 0;
  flex-wrap: wrap;
}
.breadcrumb li:not(:last-of-type)::after {
  content: ">";
  display: inline-block;
  margin: 0 1rem;
}

.txt_right {
  text-align: right;
}

.txt_left {
  text-align: left;
}

.txt_center {
  text-align: center;
}

.form_area {
  padding: 6rem 0 10rem 0;
}
.form_area .row {
  display: flex;
  padding: 2rem 0;
  border-top: 1px solid #ccc;
  box-sizing: border-box;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .form_area .row {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
}
.form_area .row:last-of-type {
  border-bottom: 1px solid #ccc;
}
.form_area .title_area {
  padding: 0 2.6rem 0 5.1rem;
  max-width: 36rem;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (max-width: 765px) {
  .form_area .title_area {
    padding: 0;
    max-width: initial;
  }
}
.form_area .title_area p {
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  align-items: center;
  gap: 2.8rem;
}
@media screen and (max-width: 765px) {
  .form_area .title_area p {
    justify-content: flex-start;
    gap: 2rem;
  }
}
.form_area .required::after {
  content: "必須";
  display: block;
  padding: 3px 0 5px 0;
  width: 46px;
  background-color: #D52C2C;
  color: var(--white);
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  border-radius: 5px;
}
.form_area label {
  display: flex;
  align-items: center;
}
.form_area .row_block {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  line-height: 5;
}
.form_area .input_area {
  width: 100%;
}
.form_area .input_area .add_text {
  margin-top: 1.7rem;
}
.form_area input:focus,
.form_area textarea:focus,
.form_area select:focus {
  outline: none;
  box-shadow: none;
}
.form_area input,
.form_area textarea {
  padding: 18px 30px;
  background-color: #F3F3F3;
  border: none;
  width: 100%;
  font-size: 1.6rem;
 box-sizing: border-box;
font-family: "メイリオ", Meiryo, "MS Pゴシック","MS PGothic",  "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  sans-serif;

}
/* font-familyを一回変えてみるよ
 * 元↓
 * font-family:  "メイリオ", Meiryo,"Sawarabi Gothic", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif;
 * 
 *  */

.form_area textarea {
  min-height: 23rem;
}
.form_area input[type=checkbox] {
  padding: 0;
  width: initial;
  margin-right: 1rem;
}
.form_area select {
  background-color: #fff;
  border: 1px solid #1A1A1A;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  padding: 18px 64px 18px 30px;
  font-size: 16px;
  color: #1A1A1A;
  position: relative;
  cursor: pointer;
  text-indent: 0.01px;
  width: 100%;
  font-family:"メイリオ", Meiryo, "MS Pゴシック","MS PGothic",  "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  sans-serif;
}

/* font-familyを一回変えてみるよ
 * 元↓
 * font-family: "メイリオ", Meiryo,"Sawarabi Gothic", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  "MS Pゴシック", "MS PGothic", sans-serif;
 * 
 *  */



.form_area .select_bar {
  position: relative;
  width: 100%;
  max-width: 40rem;
}
.form_area .select_bar::after {
  content: "";
  display: block;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: #1A1A1A;
  width: 10px;
  height: 8px;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.form_area .address01 {
  margin-bottom: 1.6rem;
}
.form_area .address01 input[type=text] {
  width: 12.8rem;
  margin-right: 2.4rem;
  margin-left: 1rem;
}
.form_area .address01 .select_bar {
  max-width: 30rem;
  min-width: 20rem;
}
.form_area .checkbox_area {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.form_area .checkbox_area label {
  white-space: nowrap;
  margin-right: 2.4rem;
}
.form_area .checkbox_area .br {
  padding-right: 10rem;
}
.form_area .submit_btn {
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #EF2366;
  cursor: pointer;
  margin: 0 auto;
}
.form_area .submit_btn::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(./../image/common/arrow_submit_wh.png);
  width: 5px;
  height: 11px;
  background-size: contain;
  background-repeat: no-repeat;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.form_area .submit_btn input[type=submit] {
  background-color: #EF2366;
  color: var(--white);
  padding: 27px 18px;
  min-width: 27rem;
  cursor: pointer;
}
.form_area .submit_btn:hover::after {
  background-image: url(./../image/common/arrow_submit_red.png);
}
.form_area .submit_btn:hover input[type=submit] {
  background-color: transparent;
  color: #EF2366;
}

@keyframes FadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
header {
  z-index: 9000;
}
header .body_lock {
  overflow-x: hidden;
}
header #fixed_header {
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 9999;
}
header .l-header_bar {
  background: var(--white);
  position: relative;
}
header .l-header_bar .header_bar {
  height: 6.7rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .l-header_bar .left_block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  z-index: 9999;
  margin-left: 0.9rem;
}
@media screen and (max-width: 765px) {
  header .l-header_bar .left_block {
    width: 60vw;
    max-width: 30.9rem;
  }
}
header .l-header_bar .left_block .l-header_logo {
  height: 100%;
  position: relative;
  width: 100%;
}
header .l-header_bar .left_block .l-header_logo img {
  height: 2.5rem;
}
@media screen and (max-width: 765px) {
  header .l-header_bar .left_block .l-header_logo img {
    height: initial;
  }
}
header .l-header_bar .left_block .sub-copy {
  font-size: 1rem;
  line-height: 1.8;
}
header .right_block {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 100%;
}
header .language,
header .gnav_language {
  margin-right: 2.5rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 970px) {
  header .language,
  header .gnav_language {
    flex-direction: column;
    gap: 5px;
  }
}
header .language a,
header .gnav_language a {
  border: 1px solid var(--gray);
  padding: 3px 15px;
  border-radius: 5px;
  line-height: 1;
  display: block;
  height: 2rem;
  line-height: 2rem;
  min-width: 4rem;
  text-align: center;
}
@media screen and (max-width: 970px) {
  header .language a,
  header .gnav_language a {
    height: 1.5rem;
    line-height: 1.5rem;
  }
}
header .language a:hover,
header .gnav_language a:hover {
  background: var(--blue);
  color: var(--white);
}
@media screen and (max-width: 1199px) {
  header .language {
    display: none;
  }
}
@media screen and (max-width: 765px) {
  header .gnav_language {
    gap: 15px;
    align-items: initial;
    margin-right: 0;
    padding: 1rem;
    box-sizing: border-box;
  }
  header .gnav_language a {
    height: 2.5rem;
    line-height: 2.5rem;
  }
}
header .menu_block {
  height: 3.8rem;
  border-top: 2px solid var(--font_color);
  border-bottom: 2px solid var(--font_color);
  background: var(--white);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  position: relative;
  top: 0;
  left: 0;
  z-index: 8888;
}
header #menu-header-navi {
  display: flex;
  flex-wrap: nowrap;
  text-align: center;
  justify-content: center;
  align-items: center;
  height: inherit;
  width: inherit;
  gap: 5rem;
  padding: 0 3rem;
}
@media screen and (max-width: 960px) {
  header #menu-header-navi {
    gap: 5px;
    justify-content: space-between;
  }
}
header .gnav_menu_list {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
header .menu-item {
  letter-spacing: 0.1em;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-weight: 500;
}
header .menu-item a,
header .menu-item span {
  line-height: 5.2rem;
  font-size: 1.8rem;
  color: var(--font_color);
  white-space: nowrap;
  display: flex;
  font-weight: inherit;
  align-items: center;
  cursor: pointer;
}
header .menu-item a:hover,
header .menu-item span:hover {
  color: var(--base-color);
}
header .menu-header-navi-container {
  margin: 0 auto;
}
header .l-gnav_menu {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  background: rgba(214, 231, 241, 0.71);
  position: relative;
}
@media screen and (max-width: 1200px) {
  header .l-gnav_menu {
    background: #d6e7f1;
  }
}
header .menu-btn {
  position: absolute;
  top: 5px;
  right: 0;
  display: none;
  height: 5rem;
  width: 5rem;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: transparent;
  box-sizing: border-box;
  font-size: 12rem;
  text-align: center;
  font-weight: 900;
  color: var(--base-color);
}
header .menu-btn span,
header .menu-btn span:before,
header .menu-btn span:after {
  content: "";
  display: block;
  height: 2px;
  width: 3rem;
  border-radius: 2px;
  background-color: var(--base-color);
  position: absolute;
  transition: 0.3s;
  right: 0;
  left: 0;
  margin: auto;
}
header .menu-btn span {
  top: 2.5rem;
}
header .menu-btn span:before {
  bottom: 0.8rem;
}
header .menu-btn span:after {
  top: 0.8rem;
}
header .gnav_btn {
  height: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 950px) {
  header .gnav_btn {
    display: none;
  }
}
header .gnav_btn a {
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  color: var(--white);
  width: 100%;
  height: 100%;
  border: 1px solid transparent;
  box-sizing: border-box;
  gap: 1.2rem;
}
header .gnav_btn a .nomal {
  display: block;
}
header .gnav_btn a .hover {
  display: none;
}
header .gnav_btn a:hover {
  background-color: transparent;
}
header .gnav_btn a:hover .nomal {
  display: none;
}
header .gnav_btn a:hover .hover {
  display: block;
}
header .gnav_btn img {
  width: 18px;
  position: relative;
  top: 2px;
}
header .menu-has-child .child-menu-area {
  position: absolute;
  top: 52px;
  left: 0;
  width: 100%;
  display: none;
  background-color: #d6e7f1;
}
header .menu-has-child .wrap-primary {
  max-width: 1366px;
}
header .menu-has-child .child-menu {
  display: flex;
  position: relative;
  justify-content: center;
  z-index: 100;
  padding: 3rem 2rem 4rem 2rem;
}
header .menu-has-child .primary-menu {
  max-width: 40%;
  border-right: 3px solid #0071B9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.5rem 1rem 1rem;
  width: 40%;
}
header .menu-has-child .primary-menu span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.4rem 2rem;
  border-radius: 5px;
  min-width: 25rem;
  cursor: initial;
}
header .menu-has-child .primary-menu a {
  display: inline;
  line-height: 1.5;
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  color: var(--base-color);
}
header .menu-has-child .secondary-menu {
  padding-left: 4rem;
  display: flex;
  align-items: center;
  width: 100%;
}
header .menu-has-child .secondary-menu .secondary-menu-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
  justify-content: flex-start;
  padding: 1rem 0;
  width: inherit;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item {
  line-height: 1.1;
  height: 9rem;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 21%;
  flex-basis: 25%;
  min-width: 14rem;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.16);
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item a {
  border-radius: 5px;
  display: flex;
  height: 100%;
  width: 100%;
  position: relative;
  align-items: flex-end;
  text-align: center;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item a .bg_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
  transition-duration: 0.3s;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item a .bg_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item a:hover .bg_image {
  transform: scale(1.2);
  transition-duration: 0.3s;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item .title {
  padding: 0.5rem;
  position: relative;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--blue);
  line-height: 1.2;
  box-sizing: border-box;
  letter-spacing: 0;
  white-space: break-spaces;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item .title span {
  color: inherit;
  font-size: 1.4rem;
  font-weight: 500;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item .title span strong {
  font-size: 2rem;
  font-weight: bold;
}
header .menu-has-child .secondary-menu .secondary-menu-list .list_item .title::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.84;
  top: 0;
  left: 0;
  position: absolute;
  z-index: -10;
  background-color: var(--white);
}
header .menu-has-child:hover .child-menu-area {
  display: block;
  animation: FadeIn 0.5s;
}
@media screen and (max-width: 1200px) {
  header .sub-menu {
    width: 80%;
    margin-left: 2em;
    padding-left: 0.5em;
  }
  header .sub-menu a {
    font-size: 1.4rem;
    font-weight: normal;
  }
  header .menu-smp-navi-container {
    height: 100vh;
    overflow-x: scroll;
  }
  header .menu-btn {
    display: block;
  }
  header .menu_block {
    border: none;
    position: absolute;
  }
  header #fixed_header {
    top: 0;
  }
  header .l-header_bar {
    width: 100%;
  }
  header .l-header_bar .header_bar {
    width: 100%;
    position: relative;
    z-index: 9999;
    padding: 0;
  }
  header .l-header_bar .l-header_btn {
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    width: 20rem;
    height: -moz-fit-content;
    height: fit-content;
    bottom: 2em;
  }
  header .l-header_bar {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0 8rem 0 2vw;
  }
}
@media screen and (max-width: 1200px) and (max-width: 400px) {
  header .l-header_bar {
    padding: 0 8rem 0 1vw;
  }
}
@media screen and (max-width: 1200px) {
  header .l-header_bar .right_block {
    padding-right: 8rem;
  }
  header .l-header_bar .right_block .menu-item {
    font-size: 1.6rem;
    line-height: 2;
  }
  header .l-header_bar .right_block .menu-item a {
    font-size: 1.6rem;
    line-height: 3;
  }
  header .l-header_bar .right_block .contact_area .tel_btn {
    width: 12rem;
    padding: 0 1rem;
    display: flex;
    justify-content: center;
    -webkit-clip-path: polygon(12% 0%, 100% 0%, 88% 100%, 0% 100%);
            clip-path: polygon(12% 0%, 100% 0%, 88% 100%, 0% 100%);
    z-index: 9999;
  }
  header .l-header_bar .right_block .contact_area .contact_btn {
    width: 9rem;
    padding: 0 2rem;
    margin-left: -1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0%);
            clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0%);
  }
}
@media screen and (max-width: 1200px) {
  header .l-header_bar .right_block {
    width: 0;
  }
}
@media screen and (max-width: 1200px) {
  header #menu-header-navi {
    gap: 0;
  }
}
@media screen and (max-width: 1200px) {
  header .menu-header-navi-container {
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  header .l-gnav_menu {
    transform: translateX(200%);
    position: fixed;
    top: 6.7rem;
    left: 0;
    width: 100vw;
    height: -moz-fit-content;
    height: fit-content;
    transition: 0.4s;
    align-items: flex-start;
    padding: 0 3vw;
    z-index: 8888;
    box-sizing: border-box;
  }
  header .l-gnav_menu .menu {
    flex-direction: column;
    width: 100vw;
    max-width: 100%;
    overflow: hidden;
  }
}
@media screen and (max-width: 1200px) {
  header .menu-item {
    width: 100%;
    padding-left: 1em;
  }
}
@media screen and (max-width: 1200px) and (max-width: 765px) {
  header .menu-item {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 1200px) {
  header .menu-item a {
    width: inherit;
    display: block;
    line-height: 4rem;
  }
}
@media screen and (max-width: 1200px) {
  header .menu-wrap:last-of-type {
    padding-bottom: 5em;
  }
}
@media screen and (max-width: 1200px) {
  header .menu-btn {
    position: absolute;
    right: 2rem;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 9999;
  }
}
@media screen and (max-width: 1200px) {
  header .right_block .menu-item {
    height: initial;
    line-height: 0.8rem;
  }
  header .right_block .menu-item a {
    width: 100%;
    text-align: left;
    display: flex;
  }
}

.is-slidemenu-active {
  background-color: var(--red);
}
.is-slidemenu-active .l-gnav_menu {
  transform: translateY(0%);
}
.is-slidemenu-active .menu-btn span {
  background-color: transparent;
}
.is-slidemenu-active .menu-btn span:before {
  bottom: 0;
  transform: rotate(45deg);
  transition: 0.3s;
}
.is-slidemenu-active .menu-btn span:after {
  top: 0;
  transform: rotate(-45deg);
  transition: 0.3s;
}

.to_top_btn {
  position: fixed;
  right: 6px;
  bottom: 6px;
  width: 0.73rem;
  height: 0.73rem;
  z-index: 9998;
  box-sizing: border-box;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
}
.to_top_btn a {
  width: 100%;
  height: 100%;
  padding: 0 0.1rem 0.15rem 0.1rem;
}
.to_top_btn img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.menu-smp-navi-container.sp {
  display: none;
}

.menu-header-navi-container.pc {
  display: block;
}

@media screen and (max-width: 1200px) {
  .menu-smp-navi-container.sp {
    display: block;
  }
  .menu-header-navi-container.pc {
    display: none !important;
  }
}
.en-header .l-header_bar {
  border-bottom: 1px solid #ADBCCC;
}
@media screen and (max-width: 1200px) {
  .en-header .l-header_bar {
    padding: 0;
  }
}
.en-header .l-header_bar .header_bar {
  height: 7.2rem;
}
@media screen and (max-width: 1200px) {
  .en-header .l-header_bar .header_bar {
    height: 5rem;
  }
}
.en-header .l-header_bar .left_block .l-header_logo img {
  height: 2.5rem;
}
@media screen and (max-width: 1200px) {
  .en-header .l-header_bar .left_block .l-header_logo img {
    height: 2rem;
  }
}
.en-header .l-gnav_menu {
  background: transparent;
}
@media screen and (max-width: 1200px) {
  .en-header .l-gnav_menu {
    background-color: var(--white);
    top: 5rem;
    flex-direction: column;
    padding-bottom: 3rem;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1200px) {
  .en-header .l-gnav_menu .menu-item {
    padding: 0;
  }
}
.en-header .l-gnav_menu .menu-item a {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: initial;
}
.en-header #menu-header-navi {
  padding: 0;
  margin-right: 4.6rem;
  gap: 3em;
}
@media screen and (max-width: 1200px) {
  .en-header #menu-header-navi {
    gap: 0;
  }
}
.en-header .language {
  gap: 1.9rem;
  margin-right: 1.6rem;
  top: 1px;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .en-header .language {
    display: flex;
    gap: 2rem;
    margin-top: 3rem;
  }
}
.en-header .language a {
  background-color: var(--base-color);
  color: var(--white);
  font-size: 1.2rem;
  color: var(--white);
  border-radius: 5px;
  min-width: 7.2rem;
  border: 1px solid transparent;
  font-weight: 500;
  box-sizing: border-box;
  padding: 0;
  height: 2.1rem;
}
.en-header .language a:hover {
  background: transparent;
  border: 1px solid var(--base-color);
  color: var(--base-color);
}

footer {
  position: relative;
  background-color: transparent;
  padding: 5.3rem 0 0 0;
  color: var(--font_color);
}
footer::after {
  content: "";
  display: block;
  background: linear-gradient(to left, rgba(0, 81, 211, 0.08), rgba(28, 190, 211, 0.08)), linear-gradient(to left, #0051d3 0%, #1cbed3 70%);
  opacity: 0.08;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -10;
}
footer a {
  color: var(--font_color);
}
footer .gnav_btn {
  width: 55%;
}
footer .gnav_btn > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  line-height: 1rem;
  width: 100%;
  color: var(--white);
  font-size: 1.5rem;
  border: 1px solid transparent;
}
footer .gnav_btn > a:hover {
  color: var(--white);
}
footer .gnav_btn img {
  width: 1.2rem;
  margin-right: 1.5rem;
}
footer .left_block {
  margin-right: 1rem;
  max-width: 27rem;
}
@media screen and (max-width: 765px) {
  footer .left_block {
    margin: 0 auto;
  }
}
footer .left_block .link_list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
footer .left_block .gnav_btn {
  width: 100%;
}
footer .left_block .gnav_btn a {
  padding: 0;
  box-sizing: border-box;
}
footer .left_block .gnav_btn a .nomal {
  display: block;
}
footer .left_block .gnav_btn a .hover {
  display: none;
}
footer .left_block .gnav_btn a:hover {
  background-color: transparent;
}
footer .left_block .gnav_btn a:hover .nomal {
  display: none;
}
footer .left_block .gnav_btn a:hover .hover {
  display: block;
}
footer .left_block .dl-btn a:hover {
  color: var(--red);
}
footer .left_block .contact-btn {
  margin-left: 0;
}
footer .left_block .contact-btn a:hover {
  color: var(--blue);
}
footer .footer_wrap {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
}
footer .logo_area {
  margin-right: 1.5rem;
  min-width: 15rem;
  margin-bottom: 2.5rem;
}
footer .logo_area .image_area {
  width: 100%;
  height: auto;
}
footer .logo_area .text_area {
  font-size: 1.4rem;
  margin-top: 0.9rem;
  color: var(--white);
}
footer #menu-footer-navi .menu-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer .child_menu {
  display: flex;
  line-height: 1.8;
}
@media screen and (max-width: 550px) {
  footer .child_menu {
    flex-wrap: wrap;
  }
}
footer .list_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
footer .menu-item-child {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 1rem;
}
footer .menu-item-child a {
  white-space: nowrap;
  font-size: 1.3rem;
}
footer .menu-item-child::before {
  content: "";
  display: inline-block;
  height: 1px;
  background-color: var(--base-color);
  width: 10px;
  margin-right: 0.7rem;
}
footer .menu-item {
  font-weight: bold;
  line-height: 2.5;
  font-size: 1.4rem;
}
footer .menu-item span {
  display: flex;
  align-items: center;
  font-weight: inherit;
}
footer .menu-item span img {
  margin-left: 1rem;
}
footer .menu-item > a {
  font-size: inherit;
  position: relative;
  margin-bottom: 0.5rem;
}
footer .menu-item a:hover {
  color: var(--base-color);
}
footer .menu-item span:before {
  content: "";
  height: 6px;
  width: 6px;
  position: relative;
  display: inline-block;
  background-color: var(--base-color);
  margin-right: 1.2em;
}
footer .sub-menu a:before {
  content: "・";
  display: inline-block;
  background: transparent;
  top: 0;
  margin-right: 0;
}
footer .sub-menu > .menu-item a {
  font-weight: normal;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
footer .li_blank span::before {
  display: none;
}
footer .copylight {
  font-size: 1rem;
  text-align: center;
  color: var(--font_color);
  padding: 6rem 0 1rem 0;
}

.add_mark {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3rem;
}
.add_mark .sns {
  display: flex;
  gap: 1.6rem;
}
.add_mark .sns a:hover {
  opacity: 0.6;
}
.add_mark .sns img {
  width: 4.7rem;
}
.add_mark .privacy_icon img {
  height: 5.6rem;
}

@media screen and (max-width: 765px) {
  footer {
    padding: 4rem 0 0 0;
  }
  footer .logo_area {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  footer .footer_wrap {
    flex-direction: column;
  }
  footer #menu-footer-navi {
    flex-direction: column;
    width: 100%;
    margin-top: 4rem;
    gap: 0;
  }
}
@media screen and (max-width: 884px) and (min-width: 445px) {
  footer .footer_menu,
  footer .left_block {
    margin: 1rem auto;
  }
}
.footer-share {
  background-color: var(--white);
}
.footer-share .contact_section .column2 {
  display: flex;
}
@media screen and (max-width: 765px) {
  .footer-share .contact_section .column2 {
    flex-direction: column;
  }
}
.footer-share .contact_section .mail,
.footer-share .contact_section .tel {
  padding: 6.5rem 0;
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .footer-share .contact_section .mail,
  .footer-share .contact_section .tel {
    width: 100%;
    padding: 2rem 1rem;
    box-sizing: border-box;
  }
}
.footer-share .contact_section .mail img,
.footer-share .contact_section .tel img {
  width: 7.5rem;
}
.footer-share .contact_section .mail {
  background: var(--base-color);
  color: var(--white);
}
.footer-share .contact_section .mail p {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin: 1rem;
}
.footer-share .contact_section .mail a {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 5px;
}
.footer-share .contact_section .tel {
  background: #EEF0F4;
}
.footer-share .contact_section .tel .tel_num {
  font-family: "Inria Sans", sans-serif;
  font-size: 3.6rem;
  margin: 1.7rem 0 0.5rem 0;
  font-weight: bold;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 765px) {
  .footer-share .contact_section .tel .tel_num {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.footer-share .contact_section .tel .tel_num span {
  display: inline-block;
  height: 2.8rem;
  line-height: 2.8rem;
  padding: 0.9rem;
  border: 1px solid var(--font_color);
  font-size: 1.6rem;
  font-weight: bold;
  margin-right: 0.9rem;
  font-family:"メイリオ", Meiryo, "MS Pゴシック","MS PGothic",  "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  sans-serif;
}

/* font-familyを一回変えてみるよ
 * 元↓
 * font-family: "メイリオ", Meiryo,"Sawarabi Gothic", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  "MS Pゴシック", "MS PGothic", sans-serif;
 * 
 *  */



.footer-share .contact_section .tel .active_time {
  font-size: 1.2rem;
  line-height: 3;
  letter-spacing: 0;
}
.footer-share .share_info_link {
  padding: 6rem 0 10rem 0;
}
.footer-share .share_info_link .info_link_list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 3rem;
}
@media screen and (max-width: 765px) {
  .footer-share .share_info_link .info_link_list {
    gap: 2rem;
  }
}
.footer-share .share_info_link .info_link_list li {
  flex-basis: 30%;
  height: 9.7rem;
  max-width: 35.4rem;
  min-width: 30rem;
}
@media screen and (max-width: 765px) {
  .footer-share .share_info_link .info_link_list li {
    height: 6.7rem;
  }
}
.footer-share .share_info_link .info_link_list li a {
  height: 100%;
  line-height: 9.7rem;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  color: var(--white);
  background: var(--red);
  padding: 0 3rem 0 7rem;
  text-indent: -3.5rem;
}
@media screen and (max-width: 765px) {
  .footer-share .share_info_link .info_link_list li a {
    line-height: 6.3rem;
  }
}
.footer-share .share_info_link .info_link_list li a::before {
  content: "";
  display: block;
  position: absolute;
  left: 2.5rem;
  top: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
}
.footer-share .share_info_link .info_link_list li a:hover {
  border: 1px solid var(--red);
  background-color: var(--white);
  color: var(--red);
}
.footer-share .share_info_link .info_link_list li a:hover::after {
  background: url(../image/common/link_arrowB_red.svg);
}
.footer-share .share_info_link .info_link_list li .btn_icon_checklist::before {
  width: 3.9rem;
  height: 3.9rem;
  background-image: url(../image/common/icon_checklist_wh.svg);
}
.footer-share .share_info_link .info_link_list li .btn_icon_checklist:hover::before {
  background-image: url(../image/common/icon_checklist_red.svg);
}
@media screen and (max-width: 765px) {
  .footer-share .share_info_link .info_link_list li .btn_icon_document {
    text-indent: 5px;
  }
}
.footer-share .share_info_link .info_link_list li .btn_icon_document::before {
  width: 3.9rem;
  height: 2.9rem;
  background-image: url(../image/common/icon_document_wh.svg);
}
.footer-share .share_info_link .info_link_list li .btn_icon_document:hover::before {
  background-image: url(../image/common/icon_document_red.svg);
}
.footer-share .share_info_link .info_link_list li .btn_icon_glossary::before {
  width: 3.7rem;
  height: 3.5rem;
  background-image: url(../image/common/icon_glossary_wh.svg);
}
.footer-share .share_info_link .info_link_list li .btn_icon_glossary:hover::before {
  background-image: url(../image/common/icon_glossary_red.svg);
}

@media screen and (max-width: 765px) {
  #footer-support {
    position: relative;
  }
  #footer-support .menu-list {
    flex-wrap: wrap;
    flex-basis: 50%;
  }
  #footer-support .menu-item {
    flex-basis: 47%;
    justify-content: center;
  }
  #footer-support #toTop_btn {
    position: relative;
    right: 0;
    left: auto;
    margin: 4rem 0 0 auto;
  }
}
#front-page .first_view {
  width: 100%;
  background: url(./../image/front_page/mv02/mv_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 5.8rem 0 4.5rem 0;
}
@media screen and (max-width: 1020px) {
  #front-page .first_view {
    padding: 2rem 0;
  }
}
#front-page .first_view .pc_mv {
  display: flex;
}
#front-page .first_view .sp_mv {
  display: none;
}
@media screen and (max-width: 765px) {
  #front-page .first_view .pc_mv {
    display: none;
    position: relative;
  }
  #front-page .first_view .sp_mv {
    display: block;
  }
}
#front-page .first_view .fv_area {
  width: 100%;
  height: 100%;
  position: relative;
  max-width: 1290px;
  margin: 0 auto;
}
#front-page .first_view .fv_area .wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1020px) {
  #front-page .first_view .fv_area .wrap .pc_mv {
    flex-direction: column-reverse;
  }
}
#front-page .first_view .fv_area .wrap .image_area {
  min-height: 50rem;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 1020px) {
  #front-page .first_view .fv_area .wrap .image_area {
    justify-content: center;
    padding: 0 1rem;
    box-sizing: border-box;
    min-height: initial;
  }
}
#front-page .first_view .fv_area .wrap .image_area img {
  width: 67vw;
  max-width: 1118px;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left bottom;
     object-position: left bottom;
}
@media screen and (max-width: 1020px) {
  #front-page .first_view .fv_area .wrap .image_area img {
    width: 100%;
    max-width: initial;
  }
}
#front-page .first_view .copy_area {
  flex: 0 0 48rem;
  width: 48rem;
  color: var(--white);
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  margin: auto;
  padding-right: 2rem;
}
@media screen and (max-width: 1650px) and (min-width: 1020px) {
  #front-page .first_view .copy_area {
    top: 0;
    left: 46vw;
    right: 0;
    margin: auto;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 1020px) {
  #front-page .first_view .copy_area {
    position: relative;
    top: 0;
    flex: 1 1 auto;
    width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
    max-width: 50rem;
    left: 0;
  }
}
#front-page .first_view .copy_area .sub_copy {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 2.35;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
#front-page .first_view .copy_area .sub_copy strong {
  font-size: 1.3em;
  font-weight: bold;
}
@media screen and (max-width: 1020px) {
  #front-page .first_view .copy_area .sub_copy {
    font-size: 1.4rem;
  }
}
#front-page .first_view .copy_area .sub_copy::after {
  content: "";
  display: block;
  background-image: url(./../image/front_page/mv02/mv_subcopy_border.png);
  height: 1rem;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#front-page .first_view .copy_area .main_copy {
  font-size: 2.1rem;
  line-height: 2;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 1020px) {
  #front-page .first_view .copy_area .main_copy {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 360px) {
  #front-page .first_view .copy_area .main_copy br {
    display: none;
  }
}
#front-page .first_view .copy_area .main_copy img {
  margin: 2.5rem 0;
}
#front-page .first_view .sp_mv {
  color: var(--white);
}
#front-page .first_view .sp_mv .sub_copy {
  font-size: 1.8rem;
  line-height: 2;
  padding: 0 2rem;
}
#front-page .first_view .sp_mv .sub_copy strong {
  font-size: 3.8rem;
  line-height: 1.7;
  background-image: linear-gradient(to right, #B8DDCB, #5AAACB);
  background-repeat: no-repeat;
  background-size: 100% 4px;
  background-position: bottom;
  font-weight: bold;
}
#front-page .first_view .sp_mv .sub_copy b {
  font-size: 2rem;
  background-image: linear-gradient(to right, #B8DDCB, #5AAACB);
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: bottom;
  font-weight: bold;
}
#front-page .first_view .sp_mv .image {
  padding: 1rem 0;
  box-sizing: border-box;
  margin-bottom: 3rem;
}
#front-page .first_view .sp_mv .image img {
  display: block;
  margin: 0 auto;
}
#front-page .first_view .sp_mv .image .main {
  margin: 2rem 0;
}
#front-page .first_view .sp_mv .image .sub01 {
  width: 90%;
}
#front-page .first_view .sp_mv .image .sub02 {
  width: 80%;
  margin-top: 2rem;
}
#front-page .section_head {
  letter-spacing: 0.05em;
}
#front-page .section_head span {
  display: block;
  text-align: center;
}
#front-page .section_head .en {
  font-family: "Open Sans", serif;
  font-size: 1.5rem;
  color: var(--fotn_color);
  margin-top: 1.5rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-style: italic;
  margin-bottom: 1.3rem;
}
#front-page .section_head .ja {
  font-size: 3.3rem;
  display: block;
  font-weight: bold;
  letter-spacing: 0.1em;
}
#front-page .section_head .ja::after {
  content: "";
  display: block;
  width: 6rem;
  height: 3px;
  background: var(--blue);
  margin: 2rem auto 0 auto;
}
#front-page .section_head img {
  width: 3.5rem;
  margin-right: 1.7rem;
}
#front-page #front-slide_menu {
  background: var(--blue);
  padding: 2.5rem 3.5rem;
}
#front-page #front-slide_menu .wrap {
  max-width: 1118px;
  margin: 0 auto !important;
}
#front-page #front-slide_menu .slide_menu_list .list_item {
  line-height: 1.1;
  height: 15rem;
  position: relative;
  overflow: hidden;
  padding: 0 1rem;
}
#front-page #front-slide_menu .slide_menu_list .list_item a {
  border-radius: 5px;
  display: flex;
  height: 100%;
  width: 100%;
  position: relative;
  align-items: flex-end;
  text-align: center;
}
#front-page #front-slide_menu .slide_menu_list .list_item a .num {
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.5rem;
  border-radius: 0 0 5px 0;
  background-color: var(--blue);
  color: var(--white);
  font-family: "Open Sans", serif;
  font-size: 1.5rem;
  font-weight: bold;
  font-style: italic;
}
#front-page #front-slide_menu .slide_menu_list .list_item a .bg_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
  transition-duration: 0.3s;
}
#front-page #front-slide_menu .slide_menu_list .list_item a .bg_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: none;
     object-fit: none;
}
#front-page #front-slide_menu .slide_menu_list .list_item a:hover .bg_image {
  transform: scale(1.2);
  transition-duration: 0.3s;
}
#front-page #front-slide_menu .slide_menu_list .list_item .title {
  padding: 1rem 2rem 1rem 1rem;
  position: relative;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--blue);
}
#front-page #front-slide_menu .slide_menu_list .list_item .title span {
  color: inherit;
  font-size: 1.4rem;
  font-weight: 500;
}
#front-page #front-slide_menu .slide_menu_list .list_item .title span strong {
  font-size: 2rem;
  font-weight: bold;
}
#front-page #front-slide_menu .slide_menu_list .list_item .title::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.84;
  top: 0;
  left: 0;
  position: absolute;
  z-index: -10;
  background-color: var(--white);
}
#front-page #front-slide_menu .slick-next,
#front-page #front-slide_menu .slick-prev {
  width: 28px;
  height: 28px;
}
#front-page #front-slide_menu .slick-next {
  right: -30px;
}
#front-page #front-slide_menu .slick-prev {
  left: -30px;
}
#front-page .bg_wrap {
  position: relative;
  overflow: hidden;
}
#front-page .bg_wrap .bg_image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 40rem;
  left: 0;
}
#front-page .bg_wrap .bg_image img {
  width: auto;
  height: 100%;
}
#front-page #front-strength {
  padding: 8.1rem 0 9.6rem 0;
}
@media screen and (max-width: 765px) {
  #front-page #front-strength {
    padding: 8.1rem 0 7rem 0;
  }
}
#front-page #front-strength .lead_text {
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
  padding: 3.1rem 0 3.8rem 0;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  #front-page #front-strength .lead_text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 520px) {
  #front-page #front-strength .lead_text br {
    display: none;
  }
}
#front-page #front-strength .strength_list {
  display: flex;
  gap: 1%;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 360px) {
  #front-page #front-strength .strength_list {
    flex-direction: column;
  }
}
#front-page #front-strength .list_item {
  background: var(--white);
  box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.07);
  box-sizing: border-box;
  flex-basis: 32%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 2rem;
}
@media screen and (max-width: 765px) and (min-width: 360px) {
  #front-page #front-strength .list_item {
    min-width: 35rem;
  }
}
@media screen and (max-width: 360px) {
  #front-page #front-strength .list_item {
    min-width: initial;
  }
}
#front-page #front-strength .list_item .image {
  width: 100%;
}
#front-page #front-strength .list_item .image img {
  width: 100%;
}
#front-page #front-strength .list_item .text_area {
  padding: 2rem 0.5rem;
}
#front-page #front-strength .list_item .text_area .desc {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.6;
  font-weight: bold;
  margin-top: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1042px) {
  #front-page #front-strength .list_item .text_area .desc br {
    display: none;
  }
}
#front-page #front-strength .list_item .text_area .desc strong {
  color: var(--red);
  font-size: 2.4rem;
}
#front-page #front-strength .list_item .text_area .num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#front-page #front-strength .list_item .text_area .num .text {
  font-size: 1.3rem;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  color: var(--base-color);
  letter-spacing: 0.05em;
}
#front-page #front-strength .list_item .text_area .num .number {
  font-family: "Open Sans", sans-serif;
  font-size: 3.2rem;
  font-weight: 400;
  color: var(--base-color);
  position: relative;
  margin-top: -3px;
}
#front-page #front-strength .link_list {
  padding-top: 11.5rem;
}
@media screen and (max-width: 765px) {
  #front-page #front-strength .link_list {
    padding-top: 6rem;
  }
}
#front-page #front-case {
  padding: 0 0 10rem 0;
  position: relative;
}
@media screen and (max-width: 765px) {
  #front-page #front-case {
    padding: 0 0 6rem 0;
  }
}
#front-page #front-case .link_list {
  padding-top: 6rem;
}
#front-page #front-case .bg_image {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  overflow: hidden;
  z-index: -100;
}
#front-page #front-case .bg_image::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--base-color);
  opacity: 0.8;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#front-page #front-case .bg_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
}
#front-page #front-case .case_list {
  display: flex;
  justify-content: center;
  gap: 1%;
  margin-top: 6rem;
}
@media screen and (max-width: 765px) {
  #front-page #front-case .case_list {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 765px) {
  #front-page #front-case .case_list {
    flex-direction: column;
    align-items: center;
  }
}
#front-page #front-case .case_list a:hover .tag_area {
  opacity: 0.6;
}
#front-page #front-case .case_list .list_item {
  filter: drop-shadow(5px 5px 30px rgba(0, 0, 0, 0.07));
  background: var(--white);
  position: relative;
  flex-basis: 32%;
  margin-top: 9rem;
  max-width: 37rem;
  display: block;
}
@media screen and (max-width: 1110px) {
  #front-page #front-case .case_list .list_item {
    margin-top: 10rem;
  }
}
#front-page #front-case .case_list .list_item .num {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 1rem;
  height: 3rem;
  border-radius: 5px;
  font-family: "Open Sans", serif;
  font-weight: 600;
  font-style: italic;
  color: var(--white);
  background: var(--base-color);
  position: absolute;
  left: 0;
  top: -15%;
  letter-spacing: 0.05em;
  font-size: 2.1rem;
  z-index: 100;
}
#front-page #front-case .case_list .list_item .num small {
  font-size: 6px;
  letter-spacing: inherit;
  text-align: center;
  margin-bottom: 3px;
}
#front-page #front-case .case_list .list_item .num img {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 0.5rem;
}
#front-page #front-case .case_list .list_item .image {
  width: 92%;
  margin-top: -15%;
}
#front-page #front-case .case_list .list_item .text {
  padding: 3.7rem 3.6rem 4.8rem 3.6rem;
  position: relative;
}
@media screen and (max-width: 765px) {
  #front-page #front-case .case_list .list_item .text {
    padding: 2rem 2rem 3rem 2rem;
  }
}
#front-page #front-case .case_list .list_item .text span {
  display: block;
  background: inherit;
}
#front-page #front-case .case_list .list_item .text .title,
#front-page #front-case .case_list .list_item .text .name {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: bold;
}
#front-page #front-case .case_list .list_item .text .title {
  margin: 2.4rem 0 0 0;
}
@media screen and (max-width: 765px) {
  #front-page #front-case .case_list .list_item .text .title {
    margin: 1rem 0 0 0;
  }
}
#front-page #front-case .case_list .list_item .text .desc {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 2.5rem;
}
@media screen and (max-width: 765px) {
  #front-page #front-case .case_list .list_item .text .desc {
    margin-top: 1rem;
  }
}
#front-page #front-blog {
  padding: 9.6rem 0 10rem 0;
  background: rgba(130, 131, 136, 0.08);
}
@media screen and (max-width: 765px) {
  #front-page #front-blog {
    padding: 6rem 0;
  }
}
#front-page #front-blog .blog_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2%;
  margin: 6rem 0;
}
@media screen and (max-width: 765px) {
  #front-page #front-blog .blog_list {
    margin: 3rem 0;
  }
}
#front-page #front-blog .blog_list .list_item {
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
  background: var(--white);
  position: relative;
  flex-basis: 23%;
  margin-top: 7rem;
  min-width: 26rem;
}
@media screen and (max-width: 765px) {
  #front-page #front-blog .blog_list .list_item {
    margin-bottom: 2rem;
    min-width: 17rem;
    flex-basis: 45%;
  }
}
@media screen and (max-width: 381px) {
  #front-page #front-blog .blog_list .list_item {
    flex-basis: 100%;
  }
}
#front-page #front-blog .blog_list .list_item a:hover .category-tag {
  opacity: 0.6;
}
#front-page #front-blog .blog_list .list_item .image {
  border-radius: 10px;
  width: 100%;
  min-height: 17rem;
  margin-top: -25%;
  overflow: hidden;
}
@media screen and (max-width: 765px) {
  #front-page #front-blog .blog_list .list_item .image {
    min-height: initial;
  }
}
#front-page #front-blog .blog_list .list_item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: none;
     object-fit: none;
  vertical-align: bottom;
}
#front-page #front-blog .blog_list .list_item .text {
  position: relative;
}
#front-page #front-blog .blog_list .list_item .text .num {
  font-family: "Open Sans", serif;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: bold;
  margin: 2.5rem 0 1.6rem 0;
}
#front-page #front-blog .blog_list .list_item .text .num::before {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 1.2rem;
  background-color: var(--base-color);
  margin-right: 1.1rem;
}
#front-page #front-blog .blog_list .list_item .text span {
  display: block;
  background: inherit;
}
#front-page #front-blog .blog_list .list_item .text .title {
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 1.2rem 2rem 3rem 2rem;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  #front-page #front-blog .blog_list .list_item .text .title {
    margin: 1rem;
  }
}
#front-page #front-blog .blog_list .list_item .text .desc {
  font-size: 1.4rem;
  line-height: 1.85;
  margin-bottom: 3rem;
}
#front-page #front-blog .blog_list .list_item .tag_area {
  padding: 0 2rem;
}
#front-page #front-blog .blog_list .list_item .tag_area .category-tag {
  max-width: 12.3rem;
}
#front-page #front-news {
  padding: 10rem 0 9rem 0;
}
@media screen and (max-width: 765px) {
  #front-page #front-news {
    padding: 6rem 0 9rem 0;
  }
}
#front-page #front-news .section_head {
  margin-bottom: 6rem;
}
#front-page #front-news .attention {
  padding: 2rem 4rem;
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 500;
  color: var(--base-color);
  border: 4px solid var(--base-color);
  margin-bottom: 4.1rem;
}
#front-page #front-news .attention a {
  text-decoration: underline;
  font-weight: bold;
  color: #E69513;
}
#front-page #front-news .news_list {
  background-color: var(--white);
}
#front-page #front-news .list_item:not(:last-of-type) {
  margin-bottom: 0.07rem;
}
#front-page #front-news .list_item .image_area {
  width: 14rem;
}
#front-page #front-news .list_item .main a {
  display: flex;
  align-items: baseline;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 1.6rem;
  font-weight: 400;
  margin-bottom: 0.8rem;
}
#front-page #front-news .list_item .main a span {
  display: block;
}
#front-page #front-news .list_item .main .category-tag {
  margin: 0;
  padding: 5px 2.3rem;
  font-size: 1.3rem;
  min-width: 12.7rem;
}
#front-page #front-news .list_item .main .date {
  font-size: 1.4rem;
  flex: 0 0 7rem;
}
#front-page #front-news .list_item .main .title {
  font-size: 1.4rem;
  flex: 1 1 80%;
  line-height: 1.5;
}
#front-page #front-news .list_item .sub {
  font-size: 1.4rem;
}
#front-page #front-news .link_list {
  margin-top: 6rem;
}

.header_area {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.header_area .bg_image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  z-index: -10;
}
.header_area .bg_image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to left, rgba(0, 105, 211, 0), rgba(3, 76, 149, 0.7) 59.42%, #0071B9);
  opacity: 0.67;
  display: block;
  mix-blend-mode: multiply;
}
.header_area .bg_image img {
  position: relative;
  z-index: -10;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.header_area .title {
  font-size: 3.1rem;
  color: var(--white);
  font-weight: bold;
  padding-left: 12.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .header_area .title {
    padding-left: 0;
    font-size: 2.2rem;
  }
}

.header_typeA {
  height: 25rem;
}
@media screen and (max-width: 765px) {
  .header_typeA {
    height: 15rem;
  }
}
.header_typeA .sub_copy {
  display: block;
  font-size: 1.8rem;
  margin-bottom: 1.9rem;
}
@media screen and (max-width: 765px) {
  .header_typeA .sub_copy {
    font-size: 1.4rem;
  }
}
.header_typeA .sub_copy:after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 47px;
  background-color: var(--white);
  margin-left: 1rem;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.header_typeB {
  height: 15rem;
}

#lower-page .section_title {
  color: var(--header_color);
  font-size: 3rem;
  text-align: center;
  max-width: 1128px;
  margin: 0 auto;
  padding: 4rem 1rem 0 1rem;
  line-height: 1.46;
  font-weight: bold;
  margin-bottom: 4rem;
  margin-top: -4rem;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 765px) {
  #lower-page .section_title {
    font-size: 2.4rem;
  }
}
#lower-page .section_title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: var(--base-color);
  margin: 2rem auto 0 auto;
}

.company_info .info_menu {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 3rem 0 10rem 0;
  gap: 1.3%;
}
@media screen and (max-width: 765px) {
  .company_info .info_menu {
    flex-direction: column;
  }
}
.company_info .info_menu .menu_item {
  width: 48.7%;
  height: 24.6rem;
  margin-top: 3rem;
}
@media screen and (max-width: 765px) {
  .company_info .info_menu .menu_item {
    width: 100%;
  }
}
.company_info .info_menu .menu_item a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.company_info .info_menu .menu_item a:hover {
  opacity: 0.6;
}
.company_info .info_menu .menu_item .bg_image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}
.company_info .info_menu .menu_item .bg_image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company_info .info_menu .menu_item .text_area {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.5rem 3rem;
  background: rgba(0, 113, 185, 0.87);
  width: 100%;
  box-sizing: border-box;
}
.company_info .info_menu .menu_item .text_area .title {
  margin: 0;
  font-weight: bold;
  color: var(--white);
  font-size: 1.8rem;
  position: relative;
  padding-right: 1.5rem;
}
.company_info .info_menu .menu_item .text_area .title::after {
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: auto;
  margin: auto;
  width: 6px;
  height: 12px;
  background-image: url(./../image/common/arrow_right_wh.png);
}

.message_outline-page .section01 {
  padding: 6rem 0 0 0;
  position: relative;
}
.message_outline-page .section01 .text_area {
  margin-top: -16.5rem;
  padding-top: 22.5rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 765px) {
  .message_outline-page .section01 .text_area {
    margin-top: -10rem;
    padding-top: 12rem;
  }
}
.message_outline-page .section01 .text_area .message {
  font-size: 1.6rem;
  line-height: 1.75;
}
.message_outline-page .section01 .text_area .message:not(:last-of-type) {
  margin-bottom: 2rem;
}
.message_outline-page .section01 .text_area .message strong {
  font-weight: bold;
  color: var(--base-color);
  font-size: inherit;
  font-family: "メイリオ", Meiryo, "MS Pゴシック","MS PGothic",  "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  sans-serif;
}
.message_outline-page .section01 .title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 3rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 765px) {
  .message_outline-page .section01 .title {
    font-size: 2rem;
  }
}
.message_outline-page .section02 {
  padding: 8rem 0 10rem 0;
}
.message_outline-page .section02 .section_title {
  margin-bottom: 6rem;
}
.message_outline-page .section02 .list_item {
  display: flex;
  align-items: center;
  border-left: 1px solid var(--base-color);
  margin-left: 11px;
  width: 100%;
  font-size: 1.6rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
.message_outline-page .section02 .list_item:first-of-type .wrap {
  border-top: 1px solid #CCCCCC;
}
.message_outline-page .section02 .list_item span {
  display: block;
  padding: 0 1rem;
  position: relative;
}
.message_outline-page .section02 .list_item span::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  position: absolute;
  top: -3px;
  bottom: 0;
  left: -6px;
  right: auto;
  margin: 0;
  background: var(--base-color);
}
.message_outline-page .section02 .list_item .wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4rem;
  width: inherit;
  border-bottom: 1px solid #CCCCCC;
}
@media screen and (max-width: 765px) {
  .message_outline-page .section02 .list_item .wrap {
    flex-direction: column;
    align-items: baseline;
    padding: 2rem 1rem 0 1rem;
    gap: 1rem;
  }
}
.message_outline-page .section02 .list_item .wrap .list_child_item {
  padding: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4rem;
}
@media screen and (max-width: 765px) {
  .message_outline-page .section02 .list_item .wrap .list_child_item {
    padding: 2rem 1rem;
    gap: 2rem;
  }
}
.message_outline-page .section02 .list_item .wrap .year,
.message_outline-page .section02 .list_item .wrap .month {
  font-weight: bold;
}
.message_outline-page .section02 .list_item .wrap .month {
  min-width: 3.5rem;
}
.message_outline-page .section02 .list_item .wrap .topic {
  line-height: 1.3;
}

.bg_blue_nm {
  background-color: #E9F4FF;
}

.office_page .section01 {
  padding: 6rem 0 4rem 0;
}
.office_page .section01 .table dt {
  min-width: 14rem;
}
.office_page .section02 {
  padding: 4rem 0 10rem 0;
}
.office_page .section02 .toggle_area {
  margin-top: 4rem;
}

.csr_page .add_text {
  font-size: 2rem;
  margin-top: 4rem;
  line-height: 1.65;
}
.csr_page .add_text small {
  font-size: 1.6rem;
}
.csr_page .section01 {
  padding: 6rem 0 0 0;
}
@media screen and (max-width: 765px) {
  .csr_page .section01 {
    padding: 4rem 0 0 0;
  }
}
.csr_page .section02 {
  padding: 7rem 0 10rem 0;
}
@media screen and (max-width: 765px) {
  .csr_page .section02 {
    padding: 2rem 0 8rem 0;
  }
}
.csr_page .sp_minwidth {
  display: none;
}
@media screen and (max-width: 360px) {
  .csr_page .sp_minwidth {
    display: block;
  }
}

.security_page .lead_text {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-bottom: 5rem;
}
.security_page .section01 {
  padding: 6rem 0 10rem 0;
}
@media screen and (max-width: 765px) {
  .security_page .section01 {
    padding: 4rem 0 0 0;
  }
}
.security_page .add_text {
  font-size: 2rem;
  margin-top: 4rem;
  line-height: 1.65;
}
.security_page .add_text small {
  font-size: 1.6rem;
}
.security_page .sp_minwidth {
  display: none;
}
@media screen and (max-width: 360px) {
  .security_page .sp_minwidth {
    display: block;
  }
}

@media screen and (max-width: 765px) {
  .img-txt_block50 {
    flex-direction: column;
  }
}
.img-txt_block50 > div {
  width: 50%;
}
@media screen and (max-width: 765px) {
  .img-txt_block50 > div {
    width: 100%;
  }
}
.img-txt_block50 .image_area {
  overflow: hidden;
}
.img-txt_block50 .image_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.img-txt_block50 .text_area {
  padding: 5.5rem;
  box-sizing: border-box;
  background-color: #E9F4FF;
}
.img-txt_block50 .text_area .title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2.6rem;
}
.img-txt_block50 .text_area .data {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 1.3rem;
  line-height: 1.75;
}

.toggle_area {
  background-color: var(--base-color);
  padding: 0 3rem;
  border-radius: 5px;
}
@media screen and (max-width: 765px) {
  .toggle_area {
    padding: 0 2rem;
  }
}
.toggle_area .click_area {
  font-family: "Open Sans", serif;
  font-style: italic;
  font-size: 2rem;
  font-weight: bold;
  color: var(--white);
  padding: 2.2rem 0;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  position: relative;
}
.toggle_area .plus_btn {
  background-color: var(--white);
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.3rem;
  left: auto;
  margin: auto;
  width: 2.3rem;
  height: 2.3rem;
}
.toggle_area .dli-plus {
  display: inline-block;
  vertical-align: middle;
  color: var(--base-color);
  line-height: 1;
  width: 1.2rem;
  height: 0.1em;
  background: currentColor;
  border-radius: 0.1em;
  position: relative;
}
.toggle_area .dli-plus::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}
.toggle_area .toggle_block {
  background-color: var(--base-color);
  border: none;
  max-height: 0vh;
  transition-duration: 0.2s;
}
.toggle_area .toggle_block iframe {
  padding: 0;
  max-height: 0vh;
  box-sizing: border-box;
  transition-duration: 0.2s;
}

.img-txt_B {
  position: relative;
  max-width: 1366px;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .img-txt_B {
    flex-direction: column;
  }
}
.img-txt_B .image_area {
  overflow: hidden;
  width: 63%;
  position: absolute;
  left: 0;
  top: 0;
  max-height: 37rem;
}
@media screen and (max-width: 765px) {
  .img-txt_B .image_area {
    width: 95%;
  }
}
.img-txt_B .image_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.img-txt_B .text_area {
  padding: 5.5rem;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.86);
  width: 76%;
  position: relative;
  padding: 8rem 9.5rem;
  margin: 8rem 0 0 auto;
}
@media screen and (max-width: 765px) {
  .img-txt_B .text_area {
    width: 95%;
    padding: 4rem;
  }
}
.img-txt_B .text_area .title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2.6rem;
}
.img-txt_B .text_area .data {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 1.3rem;
  line-height: 1.75;
}

.is-ac_active .toggle_block {
  border-top: 1px solid #fff;
  max-height: 100vh;
  transition-duration: 0.3s;
}
.is-ac_active .toggle_block iframe {
  padding: 3rem 3.5rem 4rem 3.5rem;
  max-height: 100vh;
}
@media screen and (max-width: 765px) {
  .is-ac_active .toggle_block iframe {
    padding: 3rem 0 4rem 0;
  }
}
.is-ac_active .dli-plus::before {
  opacity: 0;
  transition-duration: 0.5s;
}

.number_txt_A .row {
  display: flex;
  align-items: baseline;
  padding: 3rem 6.2rem;
  background-color: rgba(130, 131, 136, 0.08);
}
@media screen and (max-width: 765px) {
  .number_txt_A .row {
    padding: 3rem;
  }
}
@media screen and (max-width: 440px) {
  .number_txt_A .row {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.number_txt_A .row:not(:last-of-type) {
  margin-bottom: 2rem;
}
.number_txt_A .row .number {
  padding-right: 2.3rem;
  font-family: "Open Sans", sans-serif;
  font-size: 2.5rem;
  color: var(--blue);
}
@media screen and (max-width: 440px) {
  .number_txt_A .row .number {
    padding-right: 0;
  }
}
.number_txt_A .row .title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.66;
}
.number_txt_A .row .desc {
  margin-top: 2.1rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}

.category-tag {
  padding: 7px;
  margin-bottom: 0;
  margin-right: 0;
}

.category_index_list {
  display: flex;
  justify-content: flex-start;
  gap: 1.2%;
  padding-top: 6rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 765px) {
  .category_index_list {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 620px) {
  .category_index_list {
    gap: 3%;
    justify-content: center;
  }
}
.category_index_list .list_item {
  width: 100%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 481px) {
  .category_index_list .list_item {
    max-width: 48%;
  }
}
.category_index_list .list_item a {
  display: block;
  line-height: 5.2rem;
  height: 5.2rem;
  width: 100%;
  font-weight: 500;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--blue);
  background-color: var(--white);
  color: var(--blue);
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 481px) {
  .category_index_list .list_item a {
    height: 4rem;
    line-height: 4rem;
  }
}
.category_index_list .list_item a:hover {
  color: var(--white);
  background-color: var(--blue);
}

.casestudy-page .category_index_list .list_item {
  flex-direction: 15.6%;
  max-width: 15.6%;
  min-width: 14rem;
}
@media screen and (max-width: 481px) {
  .casestudy-page .category_index_list .list_item {
    max-width: 48%;
  }
}
.casestudy-page .section04 .section_title {
  margin-top: 0 !important;
  color: var(--blue) !important;
  padding-top: 6rem !important;
}
.casestudy-page .section01 {
  background-color: #EBF2FB;
  margin: 9rem 0 6rem 0;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 {
    margin: 6rem 0 6rem 0;
  }
}
.casestudy-page .section01 .column2 {
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 .column2 {
    flex-direction: column-reverse;
  }
}
.casestudy-page .section01 .text_area {
  padding: 6rem 0 4rem 0;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 .text_area {
    padding: 3rem 0;
  }
}
.casestudy-page .section01 .text_area .article_title {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 2.3rem;
  line-height: 2;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 .text_area .article_title {
    line-height: 1.5;
    margin-bottom: 1rem;
  }
}
.casestudy-page .section01 .text_area .sub_title {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-bottom: 2.3rem;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 .text_area .sub_title {
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }
}
.casestudy-page .section01 .text_area .date {
  font-size: 1.4rem;
  line-height: 1.74;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 .text_area .date {
    margin-bottom: 1.5rem;
  }
}
.casestudy-page .section01 .text_area .tag_area {
  padding-bottom: 2rem;
}
.casestudy-page .section01 .image_area {
  max-width: 50%;
  border-radius: 0.5rem;
  padding-left: 2rem;
  margin-top: -4rem;
}
@media screen and (max-width: 765px) {
  .casestudy-page .section01 .image_area {
    max-width: initial;
    padding: 0;
  }
}
.casestudy-page .section01 .image_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.casestudy-page .section02 .lead_text {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-bottom: 6rem;
}
.casestudy-page .number_txt_B .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2.6rem 1.5rem 3.9rem;
  gap: 3.5rem;
  background-color: rgba(130, 131, 136, 0.08);
  position: relative;
}
@media screen and (max-width: 720px) {
  .casestudy-page .number_txt_B .row {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}
@media screen and (max-width: 765px) {
  .casestudy-page .number_txt_B .row {
    padding: 2rem;
  }
}
@media screen and (max-width: 440px) {
  .casestudy-page .number_txt_B .row {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.casestudy-page .number_txt_B .row:not(:last-of-type) {
  margin-bottom: 2.7rem;
}
.casestudy-page .number_txt_B .row:not(:last-of-type):after {
  content: "";
  display: block;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: inherit;
  width: 2.7rem;
  height: 1.7rem;
  position: absolute;
  bottom: -1.7rem;
  left: 0;
  right: 0;
  margin: auto;
}
.casestudy-page .number_txt_B .row .title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.66;
  display: flex;
  gap: 2rem;
  align-items: center;
  color: var(--blue);
  width: 20%;
  min-width: 20rem;
}
.casestudy-page .number_txt_B .row .title .number {
  font-family: "Open Sans", sans-serif;
  font-size: 3.1rem;
}
.casestudy-page .number_txt_B .row .title .txt {
  font-size: 1.8rem;
  font-weight: bold;
}
.casestudy-page .number_txt_B .row .data {
  width: 80%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 720px) {
  .casestudy-page .number_txt_B .row .data {
    width: 100%;
  }
}
.casestudy-page .number_txt_B .row .data .desc {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  padding: 5px 0;
}
@media screen and (max-width: 800px) {
  .casestudy-page .number_txt_B .row .data .desc br {
    display: none;
  }
}
.casestudy-page .number_txt_B .row .anker_link {
  padding: 5px 0;
}
@media screen and (max-width: 720px) {
  .casestudy-page .number_txt_B .row .anker_link {
    margin: 0 auto;
  }
}
.casestudy-page .number_txt_B .row .anker_link .link_btnA {
  height: 4.7rem;
  padding: 0 39px 0 32px;
  max-width: 16.2rem;
  min-width: 16rem;
}
.casestudy-page .number_txt_B .row .anker_link .link_btnA span {
  font-size: 1.3rem;
  white-space: nowrap;
}
.casestudy-page .number_txt_B .row .anker_link .link_btnA::after {
  transform: rotate(90deg);
  width: 14px;
  height: 14px;
}
.casestudy-page .content_item .block_header {
  text-align: center;
  padding-top: 5.2rem;
}
.casestudy-page .content_item .block_header .number {
  font-family: "Open Sans", sans-serif;
  font-size: 3rem;
  color: var(--blue);
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  display: block;
}
.casestudy-page .content_item .block_header .title {
  font-size: 3rem;
  color: var(--blue);
  font-weight: bold;
  display: block;
  margin-bottom: 4rem;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
.casestudy-page .content_item .block_header .title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: var(--base-color);
  margin: 2rem auto 0 auto;
}
.casestudy-page .content_item .lead_text {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 3rem;
  letter-spacing: 0;
  line-height: 2;
}
.casestudy-page .content_item .column2 {
  gap: 3rem;
}
@media screen and (max-width: 765px) {
  .casestudy-page .content_item .column2 {
    flex-direction: column;
  }
}
.casestudy-page .content_item .column2 .image_area {
  width: 50%;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 765px) {
  .casestudy-page .content_item .column2 .image_area {
    width: 100%;
  }
}
.casestudy-page .content_item .column2 .text_area {
  width: 50%;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 765px) {
  .casestudy-page .content_item .column2 .text_area {
    width: 100%;
  }
}
.casestudy-page .content_item .column2 .text_area p {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.section03 {
  padding-bottom: 6rem;
}
.section03 .related_link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  padding: 3rem;
  border: 1px solid #ccc;
  width: 100%;
  margin-top: 6rem;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.section03 .related_link .link_btnA {
  max-width: 41.4rem;
  height: 7.8rem;
  margin: 0;
  font-weight: bold;
  font-family:  "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  min-width: 27rem;
}

/* font-familyを一回変えてみるよ
 * 元↓
 * font-family: "メイリオ", Meiryo,"Sawarabi Gothic", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  "MS Pゴシック", "MS PGothic", sans-serif;
 * 
 *  */



.document_download {
  position: relative;
}
.document_download::before, .document_download::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
}
.document_download::before {
  background-image: url(../../image/lower_page/casestudy_detail/document_section_bg.png);
  z-index: -10;
  background-position: center;
}
.document_download::after {
  background-color: rgba(216, 235, 255, 0.48);
  z-index: -5;
}
.document_download .item_block {
  gap: 5rem;
  justify-content: center;
  padding-bottom: 6rem;
}
@media screen and (max-width: 765px) {
  .document_download .item_block {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.document_download .item_block .image_area {
  max-width: 18rem;
}
.document_download .item_block .text_area {
  max-width: 49.5rem;
}
.document_download .item_block .text_area .title {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
  line-height: 1.75;
}
.document_download .item_block .text_area .desc {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  line-height: 1.75;
}
.document_download .item_block .text_area .link .link_btnA {
  margin: 0;
}
@media screen and (max-width: 765px) {
  .document_download .item_block .text_area .link .link_btnA {
    margin: 0 auto;
  }
}
.document_download .item_block .text_area .link .link_btnA span {
  font-weight: bold;
}

.related_article {
  padding: 0 0 10rem 0;
}
.related_article .section_title {
  margin-top: 0 !important;
  color: var(--blue) !important;
  padding-top: 6rem !important;
}

.related_article_list {
  gap: 3rem;
  justify-content: center;
}
@media screen and (max-width: 660px) {
  .related_article_list {
    flex-direction: column;
  }
}
.related_article_list .list_item {
  width: 50%;
  min-width: 30rem;
}
@media screen and (max-width: 660px) {
  .related_article_list .list_item {
    width: 100%;
  }
}
.related_article_list .list_item a:hover {
  opacity: 0.6;
}
.related_article_list .list_item a:hover .thumb img {
  transform: scale(1.1);
}
.related_article_list .list_item .thumb {
  border-radius: 5px;
  overflow: hidden;
}
.related_article_list .list_item .tag_area {
  margin-top: 2rem;
}
.related_article_list .list_item .tag_area .category-tag:hover {
  opacity: 1;
}
.related_article_list .list_item .date {
  font-size: 1.4rem;
  margin-top: 1.2rem;
}
.related_article_list .list_item .title {
  margin-top: 1.6rem;
  font-size: 1.8rem;
  line-height: 1.83;
  font-weight: bold;
}
.related_article_list .list_item .desc {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 1.2rem;
  min-height: 4em;
  display: block;
}

.article_list {
  padding: 6rem 0 10rem 0;
}
@media screen and (max-width: 765px) {
  .article_list {
    padding: 4rem 0 6rem 0;
  }
}
.article_list .related_article_list {
  flex-wrap: wrap;
  gap: 4%;
}
.article_list .related_article_list .list_item {
  width: 48%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 660px) {
  .article_list .related_article_list .list_item {
    width: 100%;
  }
}

.column-page .category_index_list {
  width: 100%;
}
.column-page .category_index_list .list_item {
  flex-direction: 24%;
  max-width: 24%;
  min-width: 13rem;
}
@media screen and (max-width: 995px) {
  .column-page .category_index_list .list_item {
    max-width: 48%;
  }
}
.column-page .article_list {
  padding: 6rem 0 0 0;
}
@media screen and (max-width: 765px) {
  .column-page .article_list {
    padding: 4rem 0 0 0;
  }
}
@media screen and (max-width: 679px) {
  .column-page .article_list .list_item {
    width: 100%;
  }
}
.column-page .article_list .list_item .tag_area {
  margin-bottom: 1.2rem;
}
.column-page .article_list .list_item .desc {
  margin-top: 1.6rem;
}
@media screen and (max-width: 765px) {
  .column-page .column_list .list_item {
    margin-bottom: 4rem;
  }
}
.column-page .article_haeder {
  padding: 6rem 0 2.2rem 0;
  border-bottom: 1px solid #CCCCCC;
  margin-bottom: 4rem;
}
@media screen and (max-width: 765px) {
  .column-page .article_haeder {
    padding: 3rem 0 2.2rem;
  }
}
.column-page .article_title {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 2.3rem;
}
@media screen and (max-width: 765px) {
  .column-page .article_title {
    margin-bottom: 2rem;
  }
}
.column-page .tag_area {
  margin-bottom: 1.7rem;
}
@media screen and (max-width: 765px) {
  .column-page .tag_area {
    margin-bottom: 1rem;
  }
}
.column-page .data {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.column-page .data .date {
  font-size: 1.4rem;
  white-space: nowrap;
}
.column-page .data .author {
  font-size: 1.6rem;
  text-align: right;
  line-height: 1.75;
}
.column-page .thumbnail {
  border-radius: 5px;
  overflow: hidden;
  max-width: 81.2rem;
  margin: 0 auto;
  padding-bottom: 5rem;
}
.column-page .article_main_contents .title {
  padding: 3rem 0 1.7rem 0;
  margin-top: 3rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #0071B9;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.column-page .article_main_contents .sub_title {
  padding: 2rem 0;
  font-size: 2rem;
  color: var(--blue);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.column-page .article_main_contents .text {
  line-height: 1.75;
  padding: 1rem 0;
}
.column-page .article_main_contents .link {
  padding: 2rem 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  line-height: 1.5;
}
.column-page .article_main_contents .link span {
  color: var(--white);
  background-color: var(--blue);
  display: block;
  padding: 0 25px;
  line-height: 2.9rem;
  height: 2.9rem;
  border-radius: 5px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-right: 1.2rem;
  white-space: nowrap;
  font-weight: 500;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.column-page .article_main_contents .link a {
  color: var(--blue);
  text-decoration: underline;
}
.column-page .article_main_contents .link a:hover {
  color: #1A1A1A;
  text-decoration: none;
}
.column-page .article_main_contents .image {
  display: flex;
  justify-content: center;
  padding: 3rem 0 0 0;
  gap: 2.5%;
}
.column-page .article_main_contents .image figure {
  max-width: 48.6%;
  overflow: hidden;
}
@media screen and (max-width: 765px) {
  .column-page .article_main_contents .image figure {
    max-width: initial;
  }
  .column-page .article_main_contents .image figure:not(:last-of-type) {
    margin-bottom: 2rem;
  }
}
.column-page .article_main_contents .image figure figcaption {
  text-align: center;
  margin-top: 1rem;
}
.column-page .article_main_contents .image figure img {
  border-radius: 5px;
}
@media screen and (max-width: 765px) {
  .column-page .article_main_contents .column2 {
    flex-direction: column;
  }
}

.article_related_link {
  padding: 3rem 4.4rem 4rem 4.4rem;
  background-color: #EEF0F4;
  margin-bottom: 6rem;
  margin-top: 6rem;
}
@media screen and (max-width: 765px) {
  .article_related_link {
    padding: 3rem 1.5rem 4rem 1.5rem;
    margin-bottom: 4rem;
    margin-top: 4rem;
  }
}
.article_related_link .title span {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 765px) {
  .article_related_link .title span {
    font-size: 1.6rem;
  }
}
.article_related_link .title span::before {
  content: "";
  display: inline-block;
  width: 2.4rem;
  min-width: 2.4rem;
  height: 1.8rem;
  min-height: 1.8rem;
  background-image: url(../../image/lower_page/column_detail/icon_pc.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.article_related_link .related_link_list {
  padding-top: 2.5rem;
}
.article_related_link .related_link_list .list_item:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.article_related_link .related_link_list .list_item a {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .article_related_link .related_link_list .list_item a {
    gap: 1rem;
    align-items: baseline;
  }
}
.article_related_link .related_link_list .list_item a::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  min-height: 11px;
  min-width: 11px;
  background-image: url(../../image/lower_page/column_detail/arrow_black.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.article_related_link .related_link_list .list_item a:hover::before {
  background-image: url(../../image/lower_page/column_detail/arrow_blue.png);
}

.back_link {
  margin-bottom: 10rem;
}
@media screen and (max-width: 765px) {
  .back_link {
    margin-bottom: 6rem;
  }
}

.article_index {
  padding: 3.5rem 4.5rem;
  background-color: #EBF2FB;
}
@media screen and (max-width: 765px) {
  .article_index {
    padding: 3.5rem 2rem;
  }
}
.article_index .title span {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.article_index .title span::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  min-width: 2.2rem;
  height: 1.8rem;
  min-height: 1.8rem;
  background-image: url(../../image/lower_page/column_detail/icon_index.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.article_index .index_list {
  padding: 2.5rem 0 0 0;
}
.article_index .index_list .list_item:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.article_index .index_list .list_item a {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .article_index .index_list .list_item a {
    gap: 1rem;
    align-items: baseline;
  }
}
.article_index .index_list .list_item a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  min-height: 7px;
  min-width: 7px;
  background-color: #1A1A1A;
  border-radius: 50%;
  position: relative;
}
@media screen and (max-width: 765px) {
  .article_index .index_list .list_item a::before {
    position: relative;
    top: -3px;
  }
}
.article_index .index_list .list_item a:hover::before {
  background-color: var(--blue);
}

.glossary-page .left_area {
  padding-top: 6rem;
}
@media screen and (max-width: 765px) {
  .glossary-page .left_area {
    padding-top: 4rem;
  }
}
.glossary-page .article_list {
  padding: 0;
}
.glossary-page .category_title {
  margin-top: 2.7rem;
  padding: 0 2.8rem;
  height: 5rem;
  line-height: 5rem;
  background-color: #F5F5F6;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.glossary-page .section_title {
  margin-top: 0 !important;
  padding-top: 6rem !important;
  letter-spacing: 0.1em !important;
}
.glossary-page .text {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 400;
}
.glossary-page .text p {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.glossary-page .related_glossary {
  padding: 3rem 4rem;
  background-color: #EBF2FB;
  margin-top: 5.3rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 765px) {
  .glossary-page .related_glossary {
    padding: 3rem 2rem;
  }
}
.glossary-page .related_glossary .title {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1.45;
  color: var(--blue);
  margin-bottom: 2.5rem;
}
.glossary-page .link_list {
  display: flex;
  flex-wrap: wrap;
}
.glossary-page .link_list .link_btnC:not(:last-of-type) {
  margin-right: 2.9rem;
}
.glossary-page .back_btn {
  margin-bottom: 6rem;
}

.category_btn {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 10rem;
}

.glossary_list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.glossary_list .list_item a {
  padding: 1.4rem;
  border: 1px solid var(--blue);
  border-radius: 5px;
  display: block;
  color: var(--blue);
  text-align: center;
}
.glossary_list .list_item a:hover {
  color: var(--white);
  background-color: var(--blue);
}
.glossary_list .list_item .large_btn {
  min-width: 17rem;
}

.category_btn_list {
  padding-bottom: 3rem;
}
.category_btn_list .glossary_list {
  gap: 10px;
}

.archive-page {
  padding-bottom: 10rem;
}
.archive-page .category-block .link_list {
  padding: 3rem 2.4rem 0 2.4rem;
}
.archive-page .category-block .link_list .link_btnC {
  margin-bottom: 3rem;
}

.news-page .main_content_area {
  padding-bottom: 10rem;
}
@media screen and (max-width: 765px) {
  .news-page .main_content_area {
    padding-bottom: 6rem;
  }
}
.news-page .left_area {
  padding-top: 6rem;
}
@media screen and (max-width: 765px) {
  .news-page .left_area {
    padding-top: 4rem;
  }
}
.news-page .single_pager_bar {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-top: 6.5rem;
}
@media screen and (max-width: 765px) {
  .news-page .single_pager_bar {
    flex-direction: column;
    padding-top: 4rem;
  }
}
.news-page .single_pager_bar .prev,
.news-page .single_pager_bar .next {
  white-space: nowrap;
}
.news-page .single_pager_bar .prev:hover,
.news-page .single_pager_bar .next:hover {
  color: var(--base-color);
  background-color: transparent;
}
.news-page .single_pager_bar .prev:hover:before,
.news-page .single_pager_bar .next:hover:before {
  border-color: #0071B9;
}
.news-page .single_pager_bar .prev {
  padding-left: 2.2rem;
  font-weight: 500;
}
.news-page .single_pager_bar .prev::before {
  left: 0;
  right: auto;
}
.news-page .single_pager_bar .next {
  font-weight: 500;
  padding-right: 2.2rem;
}
.news-page .single_pager_bar .next::before {
  left: auto;
  right: 0;
}
.news-page .single_pager_bar .all {
  font-weight: 500;
  color: var(--white);
  background-color: var(--base-color);
  border: 1px solid var(--base-color);
  height: 7.8rem;
  line-height: 7.8rem;
  display: block;
  min-width: 26.8rem;
  text-align: center;
  border-radius: 5px;
}
.news-page .single_pager_bar .all:hover {
  background-color: transparent;
  color: var(--base-color);
}

.news_article_list {
  padding-bottom: 7rem;
}
@media screen and (max-width: 765px) {
  .news_article_list {
    padding-bottom: 3rem;
  }
}
.news_article_list .list_item {
  background-color: #EEF0F4;
}
.news_article_list .list_item a {
  display: block;
  padding: 3rem 4rem;
}
@media screen and (max-width: 765px) {
  .news_article_list .list_item a {
    padding: 3rem 2rem;
  }
}
.news_article_list .list_item a:hover {
  opacity: 0.6;
}
.news_article_list .list_item:not(:last-of-type) {
  margin-bottom: 2rem;
}
.news_article_list .data {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.news_article_list .data span {
  display: block;
}
.news_article_list .title {
  margin-top: 1.6rem;
  line-height: 1.75;
}

.news-page.detail .main_content .left_area {
  padding-top: 6rem;
}
@media screen and (max-width: 765px) {
  .news-page.detail .main_content .left_area {
    padding-top: 4rem;
  }
}
.news-page.detail .main_content .article_title {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 6.65rem;
}
@media screen and (max-width: 765px) {
  .news-page.detail .main_content .article_title {
    font-size: 2.4rem;
    padding-bottom: 2rem;
  }
}
.news-page.detail .main_content .data {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 765px) {
  .news-page.detail .main_content .data {
    padding-bottom: 4rem;
  }
}
.news-page.detail .main_content .text {
  font-size: 1.6rem;
  line-height: 1.75;
  color: var(--font_color);
}
.news-page.detail .main_content .text p {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.news-page.detail .main_content .image img {
  border-radius: 5px;
  margin-top: 5rem;
}
@media screen and (max-width: 765px) {
  .news-page.detail .document_list {
    flex-direction: column;
  }
}
@media screen and (max-width: 765px) {
  .news-page.detail .document_list .item_block {
    gap: 3rem;
  }
}
@media screen and (min-width: 766px) {
  .news-page.detail .document_list {
    gap: 8%;
  }
  .news-page.detail .document_list .item_block {
    flex-basis: 46%;
    gap: 3.3rem;
  }
  .news-page.detail .document_list .item_block .text_area {
    max-width: 31.5rem;
  }
}

#lower-page.news-page.detail .content_title {
  text-align: left;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  #lower-page.news-page.detail .content_title {
    font-size: 2rem;
  }
}
#lower-page.news-page.detail .content_title::after {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--base-color);
  width: 100%;
  margin-top: 1.7rem;
}
#lower-page.news-page.detail .section_title.blue {
  color: var(--base-color);
}

.contactform-page p {
  font-size: 1.6;
  line-height: 1.75;
}
.contactform-page p a {
  text-decoration: underline;
  color: var(--blue);
}
.contactform-page p a:hover {
  color: var(--font_color);
  text-decoration: none;
}
.contactform-page .lead_text {
  padding: 6rem 0 2rem 0;
}
.contactform-page .before_dot {
  display: flex;
  align-items: baseline;
}
.contactform-page .before_dot::before {
  content: "";
  display: inline-block;
  width: 9px;
  min-width: 9px;
  height: 9px;
  min-height: 9px;
  background: #0071B9;
  border-radius: 50%;
  margin-right: 11px;
  position: relative;
  top: -2px;
}
.contactform-page .contact_info {
  padding: 3rem;
  background-color: #EBF2FB;
  margin: 4rem 0 5rem 0;
}
.contactform-page .contact_info p {
  text-align: center;
}
.contactform-page .contact_info p:first-of-type {
  margin-bottom: 2rem;
}

.feature-page .index_list {
  display: flex;
  align-items: initial;
  justify-content: center;
  gap: 2.6%;
  flex-wrap: wrap;
  margin-top: 6rem;
}
@media screen and (max-width: 765px) {
  .feature-page .index_list {
    margin-top: 4rem;
  }
}
.feature-page .index_list .list_item {
  width: 23%;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 1rem;
}
@media screen and (max-width: 765px) {
  .feature-page .index_list .list_item {
    min-width: 48%;
  }
}
.feature-page .index_list .list_item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  position: relative;
  padding: 2.3rem 1.2rem 2.8rem 1.2rem;
  box-sizing: border-box;
  color: var(--white);
}
@media screen and (max-width: 765px) {
  .feature-page .index_list .list_item a {
    padding: 1.8rem 1.2rem 2rem 1.2rem;
  }
}
.feature-page .index_list .list_item a:hover {
  opacity: 0.6;
}
.feature-page .index_list .list_item .number {
  font-family: "Open Sans", sans-serif;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 765px) {
  .feature-page .index_list .list_item .number {
    margin-bottom: 0.5rem;
  }
}
.feature-page .index_list .list_item .number span {
  display: block;
  font-family: inherit;
  letter-spacing: 0.05em;
}
.feature-page .index_list .list_item .number .point {
  font-size: 1.3rem;
  font-weight: bold;
}
.feature-page .index_list .list_item .number .num {
  font-size: 4rem;
}
@media screen and (max-width: 765px) {
  .feature-page .index_list .list_item .number .num {
    font-size: 3rem;
  }
}
.feature-page .index_list .list_item .title {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.64;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .feature-page .index_list .list_item .title {
    line-height: 1.3;
    font-size: 1.6rem;
  }
}
.feature-page .index_list .list_item .bg_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
}
.feature-page .index_list .list_item .bg_image::before {
  content: "";
  display: block;
  position: absolute;
  background: rgba(0, 113, 185, 0.78);
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.feature-page .index_list .list_item .bg_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.feature-page .lead_text_area {
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0 8rem 0;
}
@media screen and (max-width: 960px) {
  .feature-page .lead_text_area {
    text-align: left;
    padding: 4rem 2rem;
  }
}
.feature-page .lead_text_area p {
  font-size: inherit;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  .feature-page .lead_text_area p {
    line-height: 1.5;
  }
}
.feature-page .lead_text_area p strong {
  color: var(--base-color);
}
.feature-page .lead_text_area p:not(*:last-of-type) {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 765px) {
  .feature-page .lead_text_area p br {
    display: none;
  }
}
.feature-page .maincontent_area .content_item {
  background: rgba(232, 245, 255, 0.84);
  position: relative;
  padding: 10rem 0 9rem 0;
}
.feature-page .maincontent_area .content_item:last-of-type {
  padding: 10rem 0;
}
.feature-page .maincontent_area .content_item .bg_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 43.6rem;
  overflow: hidden;
  z-index: 0;
}
.feature-page .maincontent_area .content_item .bg_image p {
  position: relative;
  width: 100%;
  height: 100%;
}
.feature-page .maincontent_area .content_item .bg_image p img {
  position: relative;
  z-index: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.feature-page .maincontent_area .content_item .bg_image p::before {
  content: "";
  display: block;
  position: absolute;
  background: rgba(65, 188, 255, 0.3);
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
}
.feature-page .maincontent_area .content_item .text_area {
  padding: 5rem 7rem;
  background: var(--white);
  position: relative;
  max-width: 63%;
}
@media screen and (max-width: 765px) {
  .feature-page .maincontent_area .content_item .text_area {
    padding: 5rem 2rem;
    max-width: 100%;
  }
}
.feature-page .maincontent_area .content_item .text_area .point {
  position: absolute;
  left: 3.6rem;
  top: -2.1rem;
  font-family: "Open Sans", sans-serif;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  height: 4.3rem;
  line-height: 4.3rem;
  color: var(--base-color);
  text-align: center;
  background-color: var(--white);
  border-radius: 5rem;
  padding: 0 5.1rem;
  font-weight: bold;
  border: 1px solid var(--base-color);
}
.feature-page .maincontent_area .content_item .text_area .main_title {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.46;
  color: var(--base-color);
  letter-spacing: 0.1em;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 765px) {
  .feature-page .maincontent_area .content_item .text_area .main_title {
    font-size: 2.4rem;
    margin-bottom: 1rem;
  }
}
.feature-page .maincontent_area .content_item .text_area .sub_title {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 3.1rem;
}
@media screen and (max-width: 765px) {
  .feature-page .maincontent_area .content_item .text_area .sub_title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.feature-page .maincontent_area .content_item .text_area .body_copy {
  line-height: 1.75;
}
.feature-page .maincontent_area .content_item .text_area .more_link {
  margin-top: 3rem;
}
.feature-page .maincontent_area .content_item .text_area .more_link .link_btnA {
  margin: 0;
  font-family: "Open Sans", serif;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.feature-page .maincontent_area .content_item:nth-child(even) .text_area {
  margin: 0 0 0 auto;
}

.service-page .section01 {
  padding-bottom: 7rem;
}
@media screen and (max-width: 765px) {
  .service-page .section01 {
    padding-bottom: 4rem;
  }
}
.service-page .section02 {
  padding: 7rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .section02 {
    padding: 5rem 0 6rem;
  }
}
.service-page .section02 .txt-image {
  padding-top: 2rem;
}
.service-page .section03 {
  padding: 7rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .section03 {
    padding: 6rem 0;
  }
}
.service-page .section04 {
  padding: 7rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .section04 {
    padding: 4rem 0 6rem;
  }
}
.service-page .section05 {
  padding: 7rem 0 8rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .section05 {
    padding: 4rem 0 6rem 0;
  }
}
.service-page .section06 {
  padding: 4.8rem 0 8rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .section06 {
    padding: 5rem 0;
  }
}
.service-page .section06 .add_text {
  margin-top: 4rem;
}
.service-page .section07 {
  padding: 7rem 0 6rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .section07 {
    padding: 6rem 0;
  }
}
.service-page .link_btnA {
  max-width: 41.5rem;
  font-weight: bold;
}
.service-page .link {
  padding-top: 6rem;
  width: 100%;
}
@media screen and (max-width: 765px) {
  .service-page .link {
    padding-top: 4rem;
  }
}
.service-page .bg_blue {
  background-color: rgba(232, 245, 255, 0.84);
}
.service-page .bg_gray {
  background-color: rgba(238, 240, 244, 0.61);
}
.service-page .header_area {
  min-height: 25rem;
  height: initial;
  padding: 2rem 0;
  box-sizing: border-box;
}
.service-page .header_area .column2 {
  justify-content: space-between;
  gap: 3rem;
}
@media screen and (max-width: 765px) {
  .service-page .header_area .column2 {
    flex-direction: column;
  }
}
.service-page .header_area .right_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20%;
  min-width: 20rem;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .service-page .header_area .right_block {
    flex-direction: row-reverse;
    width: 100%;
    justify-content: flex-end;
    gap: 2rem;
  }
}
.service-page .header_area .right_block img {
  max-width: 13.5rem;
}
@media screen and (max-width: 765px) {
  .service-page .header_area .right_block img {
    max-width: 10rem;
  }
}
.service-page .header_area .right_block .link_btnA {
  padding: 0 2.5rem;
  height: 4.7rem;
  line-height: 4.7rem;
  max-width: 16.2rem;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  text-indent: -1em;
}
@media screen and (max-width: 765px) {
  .service-page .header_area .right_block .link_btnA {
    margin: 0;
    height: 7rem;
    line-height: 7rem;
    max-width: initial;
    flex: 1 1 auto;
    font-size: 1.6rem;
  }
}
.service-page .header_area .right_block .link_btnA:after {
  width: 14px;
  height: 14px;
  right: 8px;
}
@media screen and (max-width: 940px) {
  .service-page .title {
    padding: 0;
  }
}
.service-page .title .service_name {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  background-color: var(--white);
  padding: 5px 20px;
  color: var(--font_color);
  margin-bottom: 2.2rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.service-page .index_area {
  padding: 6rem 0 8rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .index_area {
    padding: 4rem 0;
  }
}
.service-page .index_area .index_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1%;
  align-items: initial;
  padding: 0 0 5rem 0;
}
.service-page .index_area .index_list .list_item {
  width: 24%;
  flex-basis: 24%;
  min-width: 20rem;
  margin: 4px 0;
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 859px) {
  .service-page .index_area .index_list .list_item {
    flex-basis: 32%;
  }
}
@media screen and (max-width: 648px) {
  .service-page .index_area .index_list .list_item {
    flex-basis: 49%;
    min-width: initial;
  }
}
.service-page .index_area .index_list .list_item a {
  text-align: center;
  display: block;
  width: 100%;
  border: 1px solid var(--blue);
  border-radius: 5px;
  color: var(--blue);
  height: 5.2rem;
  line-height: 5.2rem;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 648px) {
  .service-page .index_area .index_list .list_item a {
    white-space: initial;
    height: initial;
    line-height: initial;
    padding: 14px 5px;
    box-sizing: border-box;
    font-size: 1.3rem;
  }
}
.service-page .index_area .index_list .list_item a:hover {
  background: var(--blue);
  color: var(--white);
}
.service-page .index_area .add_text {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .service-page .index_area .add_text {
    text-align: left;
    font-size: 1.8rem;
  }
}
.service-page .index_area .add_text strong {
  color: var(--blue);
  font-weight: 500;
  font-size: inherit;
}
@media screen and (max-width: 765px) {
  .service-page .detail_page .lead_text {
    line-height: 1.75;
  }
}
.service-page .lead_text {
  line-height: 2;
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  .service-page .lead_text {
    font-size: 2rem;
  }
  .service-page .lead_text br {
    display: none;
  }
}
@media screen and (max-width: 765px) {
  .service-page .lead_text {
    text-align: left;
  }
}
.service-page p {
  line-height: 1.75;
}
.service-page .section_title {
  margin-bottom: 3rem !important;
}
.service-page .section_title.blue {
  color: var(--blue) !important;
}
.service-page .block_title {
  margin-top: 6rem;
  display: block;
  align-items: baseline;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 3rem;
  line-height: 1.5;
}
.service-page .block_title::before {
  content: "";
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  background-color: var(--blue);
  margin-right: 1.2rem;
}
.service-page .works_list {
  display: flex;
  gap: 2.8%;
  flex-wrap: wrap;
}
.service-page .works_list .list_item {
  padding: 0 1rem;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 10.4rem;
  margin-bottom: 3rem;
  flex: 1 0 21%;
}
@media screen and (max-width: 620px) {
  .service-page .works_list .list_item {
    flex: 1 0 42%;
    min-height: 8rem;
    margin-bottom: 1.5rem;
  }
}
.service-page .works_list .list_item .bg_image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.service-page .works_list .list_item .bg_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-page .works_list .list_item:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 42, 84, 0.61);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.service-page .works_list .list_item .text {
  position: relative;
  z-index: 10;
  text-align: center;
  color: var(--white);
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .service-page .works_list .list_item .text {
    font-size: 1.6rem;
  }
}
.service-page .works_list .list_item .text small {
  font-size: 1.3rem;
  font-weight: inherit;
}
.service-page .txt-image.column2,
.service-page .txt-image-setx2.column2,
.service-page .document_list.column2 {
  gap: 4%;
  align-items: flex-start;
}
@media screen and (max-width: 765px) {
  .service-page .txt-image.column2,
  .service-page .txt-image-setx2.column2,
  .service-page .document_list.column2 {
    flex-direction: column;
    gap: 3rem;
  }
}
.service-page .txt-image.column2 > div,
.service-page .txt-image-setx2.column2 > div,
.service-page .document_list.column2 > div {
  width: 48%;
}
@media screen and (max-width: 765px) {
  .service-page .txt-image.column2 > div,
  .service-page .txt-image-setx2.column2 > div,
  .service-page .document_list.column2 > div {
    width: 100%;
  }
}
.service-page .txt-image.column2 .image_area img,
.service-page .txt-image-setx2.column2 .image_area img,
.service-page .document_list.column2 .image_area img {
  border-radius: 5px;
}
.service-page .txt-image.column2 .text_area .title,
.service-page .txt-image-setx2.column2 .text_area .title,
.service-page .document_list.column2 .text_area .title {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--blue);
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 765px) {
  .service-page .txt-image.column2 .text_area .title,
  .service-page .txt-image-setx2.column2 .text_area .title,
  .service-page .document_list.column2 .text_area .title {
    margin-bottom: 1rem;
  }
}
.service-page .txt-image-setx2.column2 .text_area {
  margin-top: 2.4rem;
}
.service-page .checklist_area {
  background-color: #F5F5F6;
  padding: 3rem 4rem;
  margin: 5.1rem 0 3rem 0;
}
@media screen and (max-width: 765px) {
  .service-page .checklist_area {
    padding: 3rem 1rem;
    margin: 3rem 0;
  }
}
.service-page .checklist_area .title {
  font-size: 2.3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-align: center;
}
.service-page .checklist_area .check_list {
  margin-top: 2rem;
}
.service-page .checklist_area .check_list .list_item {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0.05rem 3.5rem;
  background-color: var(--white);
  box-sizing: border-box;
  border-radius: 5px;
}
@media screen and (max-width: 765px) {
  .service-page .checklist_area .check_list .list_item {
    padding: 0.05rem 1rem;
  }
}
.service-page .checklist_area .check_list .list_item:not(:last-of-type) {
  margin-bottom: 1rem;
}
.service-page .checklist_area .check_list .list_item p {
  font-size: inherit;
  font-weight: inherit;
}
.service-page .checklist_area .check_list .list_item strong {
  font-weight: inherit;
  font-size: inherit;
  color: var(--blue);
}
.service-page .checklist_area .check_list .list_item::before {
  content: "";
  display: inline-block;
  background-image: url(../../image/lower_page/service_detail/icon_check.png);
  width: 3.2rem;
  min-width: 3.2rem;
  height: 3.2rem;
  min-height: 3.2rem;
  background-repeat: no-repeat;
  background-size: cover;
}
.service-page .flow_list {
  display: flex;
  flex-wrap: wrap;
  flex: 1 1 auto;
  justify-content: center;
}
.service-page .flow_list .list_group {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
.service-page .flow_list .list_item {
  width: 19rem;
  height: 14.5rem;
  background-color: #ccc;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
  border-radius: 5px;
  position: relative;
  margin-right: 4.3rem;
  margin-top: 3.8rem;
}
@media screen and (max-width: 765px) {
  .service-page .flow_list .list_item {
    margin-right: 2.5rem;
    margin-top: 4.8rem;
    flex-basis: 11rem;
    height: 7rem;
  }
}
.service-page .flow_list .list_item::after {
  content: "";
  display: block;
  -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
          clip-path: polygon(100% 50%, 0 0, 0 100%);
  background-color: #000;
  width: 1.9rem;
  height: 6.1rem;
  right: -3.8rem;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}
@media screen and (max-width: 765px) {
  .service-page .flow_list .list_item::after {
    width: 1rem;
    height: 4rem;
    right: -1.8rem;
  }
}
.service-page .flow_list .list_item .icon {
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  width: 10.3rem;
  height: 10.3rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  margin-top: -2.8rem;
}
@media screen and (max-width: 765px) {
  .service-page .flow_list .list_item .icon {
    width: 5rem;
    height: 5rem;
  }
}
.service-page .flow_list .list_item .icon img {
  max-width: 6rem;
}
@media screen and (max-width: 765px) {
  .service-page .flow_list .list_item .icon img {
    max-width: 3rem;
  }
}
.service-page .flow_list .list_item .name {
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 5px;
}
@media screen and (max-width: 765px) {
  .service-page .flow_list .list_item .name {
    font-size: 1.3rem;
  }
}
.service-page .flow_list .bottom .list_item:last-of-type {
  margin-right: 0;
}
.service-page .flow_list .bottom .list_item:last-of-type::after {
  display: none;
}
.service-page .flow_list.flow_blue .list_group.top .list_item:nth-of-type(1) {
  background-color: #EBF6FF;
}
.service-page .flow_list.flow_blue .list_group.top .list_item:nth-of-type(1)::after {
  background-color: #EBF6FF;
}
.service-page .flow_list.flow_blue .list_group.top .list_item:nth-of-type(1) .name {
  color: #0071B9;
}
.service-page .flow_list.flow_blue .list_group.top .list_item:nth-of-type(2) {
  background-color: #C4E3FC;
}
.service-page .flow_list.flow_blue .list_group.top .list_item:nth-of-type(2)::after {
  background-color: #C4E3FC;
}
.service-page .flow_list.flow_blue .list_group.top .list_item:nth-of-type(2) .name {
  color: #0071B9;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(1) {
  background-color: #5FB2F5;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(1)::after {
  background-color: #5FB2F5;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(1) .name {
  color: #fff;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(2) {
  background-color: #2588D9;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(2)::after {
  background-color: #2588D9;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(2) .name {
  color: #fff;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(3) {
  background-color: #0067CF;
}
.service-page .flow_list.flow_blue .list_group.bottom .list_item:nth-of-type(3) .name {
  color: #fff;
}
.service-page .flow_list.flow_red .list_group.top .list_item:nth-of-type(1) {
  background-color: #FFFFFF;
}
.service-page .flow_list.flow_red .list_group.top .list_item:nth-of-type(1)::after {
  background-color: #FFFFFF;
}
.service-page .flow_list.flow_red .list_group.top .list_item:nth-of-type(1) .name {
  color: #D52C53;
}
.service-page .flow_list.flow_red .list_group.top .list_item:nth-of-type(2) {
  background-color: #FCD5DF;
}
.service-page .flow_list.flow_red .list_group.top .list_item:nth-of-type(2)::after {
  background-color: #FCD5DF;
}
.service-page .flow_list.flow_red .list_group.top .list_item:nth-of-type(2) .name {
  color: #D52C53;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(1) {
  background-color: #EC7E98;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(1)::after {
  background-color: #EC7E98;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(1) .name {
  color: #fff;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(2) {
  background-color: #E55375;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(2)::after {
  background-color: #E55375;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(2) .name {
  color: #fff;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(3) {
  background-color: #D52C53;
}
.service-page .flow_list.flow_red .list_group.bottom .list_item:nth-of-type(3) .name {
  color: #fff;
}
.service-page .datalist_area {
  display: flex;
}
.service-page .datalist_area .datalist_tabel {
  width: 100%;
}
.service-page .datalist_area .datalist_tabel dd,
.service-page .datalist_area .datalist_tabel dt {
  border: 1px solid #CCCCCC;
  min-height: 9.2rem;
  display: flex;
  align-items: center;
}
.service-page .datalist_area .datalist_tabel dd {
  text-align: center;
  justify-content: center;
  flex-direction: column;
  padding: 0 1.7rem;
  box-sizing: border-box;
  max-width: 30rem;
  width: 100%;
  min-width: 23rem;
}
.service-page .datalist_area .datalist_tabel .name {
  line-height: 1.85;
  font-size: 2rem;
  font-weight: bold;
}
.service-page .datalist_area .datalist_tabel .name small {
  font-size: 1.6rem;
}
.service-page .datalist_area .datalist_tabel .name,
.service-page .datalist_area .datalist_tabel dt {
  background-color: #F5F5F6;
}
.service-page .datalist_area .datalist_tabel .empty {
  opacity: 0;
}
.service-page .datalist_area .datalist_tabel .empty:after {
  content: "　";
}
.service-page .datalist_area .datalist_tabel .icon::before {
  content: "";
  display: block;
  width: 3.1rem;
  height: 3.1rem;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 1rem;
}
.service-page .datalist_area .datalist_tabel .rank1 .icon {
  display: block;
}
.service-page .datalist_area .datalist_tabel .rank1 .icon::before {
  background-image: url(../../image/lower_page/service_detail/mark_niju-maru.png);
}
.service-page .datalist_area .datalist_tabel .rank2 .icon {
  display: block;
}
.service-page .datalist_area .datalist_tabel .rank2 .icon::before {
  background-image: url(../../image/lower_page/service_detail/mark_maru.png);
}
.service-page .datalist_area .datalist_tabel .rank3 .icon {
  display: block;
}
.service-page .datalist_area .datalist_tabel .rank3 .icon::before {
  background-image: url(../../image/lower_page/service_detail/mark_sankaku.png);
}
.service-page .datalist_area .datalist_tabel .rank4 .icon {
  display: block;
}
.service-page .datalist_area .datalist_tabel .rank4 .icon::before {
  background-image: url(../../image/lower_page/service_detail/mark_batsu.png);
}
.service-page .datalist_area .table_head dt {
  padding: 0 2.6rem;
  justify-content: flex-start;
  box-sizing: border-box;
  min-width: 20rem;
}
.service-page .datalist_area .focus {
  box-sizing: border-box;
  position: relative;
}
.service-page .datalist_area .focus::after {
  content: "";
  display: block;
  border: 3px solid var(--blue);
  position: absolute;
  top: 0;
  left: 0;
  background: transparent;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.service-page .datalist_area .focus dd {
  background: #EBF6FF;
}
.service-page .datalist_area .focus .name {
  background-color: var(--blue);
  color: var(--white);
  border: none;
}
@media screen and (max-width: 920px) {
  .service-page .scroll-x_area {
    overflow-x: scroll;
    overflow-y: hidden;
  }
}
@media screen and (max-width: 765px) {
  .service-page .document_download .document_list.column2 {
    gap: 4rem;
  }
}
.service-page .document_download .section_title {
  margin-bottom: 4.2rem !important;
}
.service-page .document_download .item_block {
  gap: 3.3rem;
  padding-bottom: 0;
}
.service-page .document_download .item_block .image_area {
  flex: 0 0 17.9rem;
}
.service-page .document_download .item_block .text_area .title {
  font-size: 2.2rem;
  color: var(--font_color);
  margin-bottom: 2.5rem;
}
.service-page .document_download .item_block .text_area .desc {
  margin-bottom: 3rem;
}
.service-page .document_download .item_block .text_area .link {
  padding-top: 0;
}
.service-page .document_download .item_block .text_area .link .link_btnA {
  max-width: 26.8rem;
}
.service-page .document_download .link {
  padding-top: 5rem;
}
@media screen and (max-width: 765px) {
  .service-page .document_download .link {
    padding-top: 3rem;
  }
}
.service-page .txt-image.TypeB {
  padding: 3rem 6rem;
  background-color: #F5F5F6;
  border-radius: 5px;
  margin-top: 3rem;
  gap: 3rem;
}
@media screen and (max-width: 765px) {
  .service-page .txt-image.TypeB {
    padding: 3rem 2rem;
  }
}
.service-page .txt-image.TypeB .image_area {
  max-width: 30.4rem;
}
@media screen and (max-width: 765px) {
  .service-page .txt-image.TypeB .image_area {
    max-width: 70%;
    margin: 0 auto;
  }
}
.service-page .txt-image.TypeB .image_area img {
  border-radius: 0;
}
.service-page .txt-image.TypeB .text_area {
  color: #595959;
  width: 100%;
}
.service-page .txt-image.TypeB .text_area p {
  color: inherit;
}
.service-page .txt-image.TypeB .text_area .title {
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.1em;
  color: inherit;
  margin-bottom: 1.6rem;
}
.service-page .txt-image.TypeB .link {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
  padding-top: 2rem;
}
.service-page .txt-image.TypeB .link_btnA {
  font-family: "Open Sans", serif;
  font-style: italic;
  font-weight: bold;
  height: 4.7rem;
  line-height: 4.7rem;
  width: 16.2rem;
  font-size: 1.3rem;
  margin: 0;
}
.service-page .txt-image.TypeB .link_btnA::after {
  width: 16px;
  height: 16px;
  right: 8.6px;
}
.service-page .txt-image.TypeB + .txt-image.TypeB {
  margin-top: 2rem;
}
.service-page .index_section {
  padding: 7rem 0;
}
.service-page .index_section.index_section01 {
  margin-top: 6rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 765px) {
  .service-page .index_section.index_section01 {
    padding-bottom: 5rem;
  }
}
.service-page .index_section.index_section03 {
  padding: 0 0 7rem 0;
}
.service-page .index_section.index_section03 .section_title {
  margin-bottom: 4rem !important;
}
.service-page .service_index .add_text {
  line-height: 2;
}
.service-page .service_index .index_list {
  padding-bottom: 4rem;
}
.service-page .category_block {
  background: var(--white);
  padding: 4.1rem 6rem 4rem 6rem;
  margin-top: 3rem;
}
@media screen and (max-width: 765px) {
  .service-page .category_block {
    padding: 4.1rem 2rem;
  }
}
.service-page .category_block .link_btnA {
  max-width: 16.2rem;
  height: 4.7rem;
  line-height: 4.7rem;
  margin: 0;
}
.service-page .category_block .link_btnA span {
  font-size: 1.3rem;
}
.service-page .category_block .link_btnA::after {
  width: 1.4rem;
  height: 1.4rem;
  right: 9px;
}
.service-page .category_block .txt-image.column2 .image_area img {
  border-radius: 0;
}
.service-page .cat_menu .title {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 2rem 0 2.5rem 0;
  text-align: center;
}
.service-page .cat_menu .cat_menu_list.gray .list_item {
  background-color: #EEF0F4;
}
.service-page .cat_menu .cat_menu_list {
  display: flex;
  gap: 2.7%;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media screen and (max-width: 884px) {
  .service-page .cat_menu .cat_menu_list {
    justify-content: center;
  }
}
.service-page .cat_menu .cat_menu_list .list_item {
  flex: 0 0 18%;
  padding: 0 2.5rem;
  background-color: var(--white);
  border-radius: 5px;
  display: flex;
  align-items: center;
  min-height: 10.4rem;
  gap: 1.2rem;
  min-width: 23rem;
  box-sizing: border-box;
  margin-bottom: 1rem;
}
.service-page .cat_menu .cat_menu_list .list_item .icon {
  width: 28%;
}
.service-page .cat_menu .cat_menu_list .list_item .cat_name {
  max-width: 13rem;
  letter-spacing: 0;
  line-height: 1.75;
}
.service-page .cat_menu .cat_menu_list .item02 .icon {
  width: 35%;
}
.service-page .cat_menu .cat_menu_list .item03 .icon {
  width: 30%;
}
.service-page .cat_menu .cat_menu_list.link {
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 3rem 0 0 0;
}
@media screen and (max-width: 1036px) {
  .service-page .cat_menu .cat_menu_list.link {
    justify-content: space-between;
  }
}
@media screen and (max-width: 506px) {
  .service-page .cat_menu .cat_menu_list.link {
    justify-content: center;
  }
}
.service-page .cat_menu .cat_menu_list.link .list_item {
  flex: 0 1 22.7%;
  margin-bottom: 3rem;
  padding: 0;
}
@media screen and (max-width: 1035px) {
  .service-page .cat_menu .cat_menu_list.link .list_item {
    flex: 0 1 30%;
  }
}
@media screen and (max-width: 764px) {
  .service-page .cat_menu .cat_menu_list.link .list_item {
    flex: 0 1 48%;
  }
}
@media screen and (max-width: 506px) {
  .service-page .cat_menu .cat_menu_list.link .list_item {
    flex: 0 1 100%;
  }
}
.service-page .cat_menu .cat_menu_list.link .list_item a {
  background-color: var(--white);
  padding: 0 2.5rem;
  box-sizing: border-box;
  border-radius: 5px;
  display: flex;
  align-items: center;
  min-height: 10.4rem;
  gap: 2rem;
  white-space: nowrap;
  width: 100%;
}
.service-page .cat_menu .cat_menu_list.link .list_item a:hover {
  background-color: #CCCCCC;
  transition-duration: 0.5s;
}
.service-page .cat_menu .cat_menu_list.link .list_item a .icon {
  width: 100%;
  max-width: 8rem;
}
.service-page .cat_menu .cat_menu_list.link .list_item a .cat_name {
  color: var(--blue);
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.service-page .cat_menu .cat_menu_list.link .item01 a .icon {
  max-width: 5.4rem;
}
.service-page .cat_menu .cat_menu_list.link .item03 a {
  padding: 0 1.8rem;
}
.service-page .cat_menu .cat_menu_list.link .item04 a .icon {
  max-width: 5.5rem;
}
.service-page .main_service .txt-image {
  gap: 5.2rem;
  justify-content: space-between;
  padding-bottom: 4rem;
  border-bottom: 1px solid #CCC;
}
.service-page .main_service .txt-image .text_area {
  min-width: 31.5rem;
}
@media screen and (max-width: 765px) {
  .service-page .main_service .txt-image .text_area {
    min-width: initial;
  }
}
.service-page .main_service .txt-image .text_area .title {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}
.service-page .main_service .txt-image .image_area {
  max-width: 44.5rem;
}
@media screen and (max-width: 765px) {
  .service-page .main_service .txt-image .image_area {
    max-width: initial;
  }
}
.service-page .main_service .link {
  display: flex;
  gap: 1.2rem;
  justify-content: flex-end;
  padding-top: 9rem;
}
.service-page .category_area.column2 {
  gap: 3%;
}
@media screen and (max-width: 795px) {
  .service-page .category_area.column2 {
    flex-direction: column;
  }
}
.service-page .category_area.column2 .category_block {
  flex-basis: 48.5%;
  padding: 3.1rem 6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .service-page .category_area.column2 .category_block {
    padding: 3.1em 2rem;
  }
}
@media screen and (max-width: 795px) {
  .service-page .category_area.column2 .category_block {
    flex-basis: 100%;
  }
}
.service-page .category_area.column2 .category_block .title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--blue);
  margin-bottom: 2.5rem;
  letter-spacing: 0.1em;
  margin: 1.6rem 0;
}
.service-page .category_area.column2 .category_block .link {
  padding-top: 3.6rem;
}
.service-page .category_area.column2 .category_block .link .link_btnA {
  margin: 0 0 0 auto;
}
.service-page .category_block.small {
  padding: 0;
  margin: 0;
}
.service-page .category_block.small a.column2 {
  padding: 4.1rem 6rem;
}
@media screen and (max-width: 765px) {
  .service-page .category_block.small a.column2 {
    flex-direction: column;
    padding: 4.1rem 2rem;
  }
}
.service-page .category_block.small a.column2:hover {
  background-color: #ccc;
  transition-duration: 0.5s;
}
.service-page .category_block.small a.column2:hover .image_area img {
  transform: scale(1);
}
.service-page .category_block.small .column2 {
  gap: 4.5rem;
}
@media screen and (max-width: 765px) {
  .service-page .category_block.small .column2 {
    gap: 2rem;
  }
}
.service-page .category_block.small .image_area {
  width: 100%;
  flex: 1 0 30rem;
}
@media screen and (max-width: 765px) {
  .service-page .category_block.small .image_area {
    flex: 1 0 auto;
  }
}
.service-page .category_block.small .title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--blue);
  margin-bottom: 2.5rem;
  letter-spacing: 0.1em;
  margin: 0 0 2.7rem 0;
}
.service-page .index_section02 {
  border-bottom: 1px solid #ccc;
  padding: 7rem 0 1rem 0;
}
.service-page .index_section02 .section_contents .txt-image.column2 {
  padding: 5rem 0;
  align-items: center;
}
.service-page .index_section02 .section_contents .txt-image.column2:not(:last-of-type) {
  border-bottom: 1px solid #ccc;
}
.service-page .index_section02 .section_contents .txt-image.column2 .image_area {
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-page .index_section02 .section_contents .txt-image.column2 .text_area {
  padding-left: 1.5rem;
  width: 50%;
}
@media screen and (max-width: 765px) {
  .service-page .index_section02 .section_contents .txt-image.column2 .text_area {
    width: 100%;
    padding-right: 1.5rem;
  }
}
.service-page .index_section02 .section_contents .txt-image.column2 .text_area .title {
  color: initial;
  font-size: 2.4rem;
  letter-spacing: initial;
  margin-bottom: 3.1rem;
}
.service-page .index_section02 .section_contents .txt-image.column2 .text_area .link {
  max-width: 26.9rem;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 765px) {
  .service-page .index_section02 .section_contents .txt-image.column2 .text_area .link {
    margin: 0 auto;
    padding-top: 3rem;
  }
}
@media screen and (max-width: 765px) {
  .service-page .index_section02 .section_contents .txt-image.column2 .text_area .link .link_btnA {
    max-width: 16.2rem;
    height: 4.7rem;
    line-height: 4.7rem;
    margin: 0 auto;
  }
  .service-page .index_section02 .section_contents .txt-image.column2 .text_area .link .link_btnA span {
    font-size: 1.3rem;
  }
  .service-page .index_section02 .section_contents .txt-image.column2 .text_area .link .link_btnA::after {
    width: 1.4rem;
    height: 1.4rem;
    right: 9px;
  }
}
@media screen and (max-width: 796px) {
  .service-page .related_article .related_article_list.column2 {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.service-page .related_article .related_article_list.column2 .list_item {
  min-width: 23rem;
}
@media screen and (max-width: 796px) {
  .service-page .related_article .related_article_list.column2 .list_item {
    width: 80%;
  }
}
.service-page .related_article .category-tag {
  padding: 3px 7px;
  min-width: 11.5rem;
}
@media screen and (max-width: 960px) {
  .service-page .document_list.column2 {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3rem;
  }
  .service-page .document_list.column2 > div {
    width: 100%;
  }
}

.documents-page .bg_blue {
  background-color: rgba(232, 245, 255, 0.84);
}
.documents-page .all_document {
  padding: 2rem 0 4rem 0;
}
.documents-page .document_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.55%;
}
@media screen and (max-width: 758px) {
  .documents-page .document_list {
    justify-content: center;
  }
}
.documents-page .document_list .list_item {
  flex: 1 1 31.5%;
  margin: 4rem 0;
}
@media screen and (max-width: 950px) {
  .documents-page .document_list .list_item {
    flex: 1 1 35.6rem;
    max-width: 35.6rem;
    margin: 2rem 0;
  }
}
.documents-page .document_list .list_item a:hover .thumb img {
  transform: scale(1);
  opacity: 0.6;
}
.documents-page .document_list .list_item a:hover .link_btnA {
  background-color: var(--white);
  border: 1px solid var(--base-color);
  color: var(--base-color);
}
.documents-page .document_list .list_item a:hover .link_btnA::after {
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-image: url(../image/common/link_arrowA_blue.png);
  background-repeat: no-repeat;
  background-size: cover;
  transition-duration: 0.2s;
}
.documents-page .document_list .list_item .link_btnA {
  pointer-events: none;
}
.documents-page .document_list .list_item .thumb {
  max-width: 17.9rem;
  margin: 0 auto;
}
.documents-page .document_list .list_item .title {
  padding: 2rem 0 1.6rem 0;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.documents-page .document_list .list_item .desc {
  line-height: 1.75;
  font-size: 1.6rem;
}
.documents-page .document_list .list_item .link {
  margin-top: 2rem;
}
.documents-page .document_list .list_item .link .link_btnA {
  font-family: "Open Sans", serif;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.documents-page .add_info01 {
  padding: 4rem 0 5rem 0;
}
.documents-page .add_info01 .title {
  padding-bottom: 3rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}
.documents-page .add_info01 .link_btnA {
  width: 100%;
  max-width: 41.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.column2 {
  display: flex;
}

.table dl {
  display: flex;
  border-bottom: 1px solid #ccc;
  font-size: 1.6rem;
}
.table dl:first-of-type {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 765px) {
  .table dl {
    flex-direction: column;
  }
}
.table dt {
  border: none;
  background: rgba(130, 131, 136, 0.08);
  display: flex;
  align-items: center;
  width: 17%;
  font-weight: bold;
  padding: 0 2.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .table dt {
    width: 100%;
    padding: 2rem;
  }
}
.table dd {
  width: 83%;
  padding: 2rem 2.6rem;
  display: flex;
  align-items: center;
  line-height: 1.75;
}
@media screen and (max-width: 765px) {
  .table dd {
    padding: 2rem;
  }
}

.sidebar_on {
  padding-bottom: 10rem;
}
@media screen and (max-width: 765px) {
  .sidebar_on {
    padding-bottom: 4rem;
  }
}
.sidebar_on .wrap-primary {
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 1040px) {
  .sidebar_on .wrap-primary {
    gap: 2rem;
    flex-direction: column;
  }
}
.sidebar_on .left_area {
  width: 100%;
}

#sidebar {
  width: 32.9rem;
  max-width: 32.9rem;
  padding-top: 6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1040px) {
  #sidebar {
    width: 100%;
    max-width: initial;
    display: flex;
    gap: 2%;
  }
}
@media screen and (max-width: 700px) {
  #sidebar {
    flex-direction: column;
    max-width: 50rem;
    margin: 0 auto;
    padding-top: 4rem;
  }
}
@media screen and (max-width: 1040px) {
  #sidebar .sidebar_block {
    width: 48%;
  }
}
@media screen and (max-width: 700px) {
  #sidebar .sidebar_block {
    width: 100%;
  }
}
#sidebar .pickup_document .title {
  min-height: 11.5rem;
  display: block;
}

.sidebar_block {
  background: rgba(130, 131, 136, 0.08);
  padding: 2rem;
  margin-bottom: 3rem;
  box-sizing: border-box;
}
.sidebar_block .block_title {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-bottom: 1.3rem;
  border-bottom: 3px solid #0071B9;
  text-align: center;
}
.sidebar_block .article_list {
  padding: 0;
}
.sidebar_block .image {
  min-width: 11rem;
  max-width: 11rem;
}
.sidebar_block .list_item {
  padding: 2rem 0;
}
.sidebar_block .list_item:not(:last-of-type) {
  border-bottom: 1px solid #CCCCCC;
}
.sidebar_block .list_item .column2 {
  gap: 2rem;
}
.sidebar_block .title {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 400;
}
.sidebar_block .link_btnA {
  height: 4.2rem;
  line-height: 4.2rem;
}
.sidebar_block .link_btnA:hover {
  background: var(--blue);
  color: var(white);
}
.sidebar_block .link_btnA:hover::after {
  display: none;
}
.sidebar_block a:hover .link_btnA {
  background-color: transparent;
  color: var(--blue);
  border: 1px solid var(--blue);
}
.sidebar_block .service_list {
  padding-top: 2.5rem;
}
.sidebar_block .service_list .list_item {
  padding: initial;
}
.sidebar_block .service_list .list_item:not(:last-of-type) {
  border-bottom: none;
  padding-bottom: 1rem;
}
.sidebar_block .service_list .list_item .link_btnA {
  height: 5.2rem;
  line-height: 5.2rem;
}
.sidebar_block .service_list .list_item .link_btnA:hover {
  background: transparent;
  color: var(--blue);
}

.year_list,
.news_cat_list {
  margin-top: 2.5rem;
}
.year_list .list_item,
.news_cat_list .list_item {
  padding: initial;
}
.year_list .list_item:not(:last-of-type),
.news_cat_list .list_item:not(:last-of-type) {
  border-bottom: none;
  padding-bottom: 1rem;
}
.year_list .list_item .link_btnA,
.news_cat_list .list_item .link_btnA {
  border-radius: 5px;
}

.anime-frame_in {
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.anime-frame_in.frame-in {
  opacity: 1;
  transform: translateX(0);
}
.anime-frame_in.frame-out {
  opacity: 0;
  transform: translateX(-100%);
}

#front-page.en-main {
  --dark_gray: #35465A;
  --light_gray: #DFE5EB;
  --dark_blue: #1A222B;
  padding-top: 7.2rem;
  font-family: "Open Sans", serif;
}
@media screen and (max-width: 1200px) {
  #front-page.en-main {
    padding-top: 5rem;
  }
}
#front-page.en-main .bg_lightgray {
  background-color: var(--light_gray);
}
#front-page.en-main span {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
#front-page.en-main .link_btn_en,
#front-page.en-main .submit_btn input {
  background: var(--base-color);
  border-radius: 0;
  height: 7.85rem;
  line-height: 7.85rem;
  max-width: 33.5rem;
  font-size: 2.1rem;
  color: var(--white);
  font-weight: bold;
  text-align: center;
  width: 100%;
  border: 1px solid transparent;
}
#front-page.en-main .link_btn_en:hover,
#front-page.en-main .submit_btn input:hover {
  color: var(--base-color);
  border: 1px solid var(--base-color);
  background: var(--white);
}
#front-page.en-main .link_btn_en {
  position: relative;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  #front-page.en-main .link_btn_en {
    height: 5rem;
    line-height: 5rem;
    width: 80%;
  }
}
#front-page.en-main .link_btn_en:after {
  content: "";
  display: block;
  position: absolute;
  width: 22px;
  height: 7px;
  background-repeat: no-repeat;
  background-size: contain;
  right: 1.76rem;
  top: 0;
  bottom: 0;
  margin: auto;
  background-image: url(../../image/english_page/link_btn_arrow_wh.png);
}
#front-page.en-main .link_btn_en:hover:after {
  background-image: url(../../image/english_page/link_btn_arrow_blue.png);
}
#front-page.en-main .first_view {
  background-color: var(--dark_gray);
}
#front-page.en-main .fv_area {
  color: var(--white);
  padding: 7.3rem 0 15.3rem 0;
}
@media screen and (max-width: 765px) {
  #front-page.en-main .fv_area {
    padding: 2.3rem 0 15.3rem 0;
  }
}
#front-page.en-main .fv_area .left_wrap {
  max-width: 1128px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
}
@media screen and (max-width: 860px) {
  #front-page.en-main .fv_area .left_wrap {
    flex-direction: column;
  }
}
#front-page.en-main .fv_area .left_wrap .image_area {
  max-width: 50%;
  padding-left: 0;
}
@media screen and (max-width: 860px) {
  #front-page.en-main .fv_area .left_wrap .image_area {
    max-width: 80%;
    margin: 0 auto;
  }
}
#front-page.en-main .copy_area {
  width: 50%;
  padding: 0 3.7rem;
  flex: 1 0 47.7rem;
  min-width: 538px;
}
@media screen and (max-width: 860px) {
  #front-page.en-main .copy_area {
    width: 100%;
    flex: 1 0 auto;
    padding: 0;
    min-width: initial;
  }
}
#front-page.en-main .copy_area .sub_copy {
  font-size: 2.9rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 860px) {
  #front-page.en-main .copy_area .sub_copy {
    display: block;
    font-size: 2rem;
  }
}
#front-page.en-main .copy_area .sub_copy::after {
  display: none;
}
#front-page.en-main .copy_area .main_copy {
  font-size: 4.2rem;
  font-weight: normal;
  margin: 2.9rem 0 4.3rem 0;
}
@media screen and (max-width: 860px) {
  #front-page.en-main .copy_area .main_copy {
    font-size: 3.2rem;
    margin: 2rem 0;
    line-height: 1.3;
  }
  #front-page.en-main .copy_area .main_copy br {
    display: none;
  }
}
#front-page.en-main .copy_area .main_copy strong {
  font-size: inherit;
  font-weight: bold;
}
@media screen and (max-width: 860px) {
  #front-page.en-main .copy_area .link_btn_en {
    margin: 0 auto;
  }
}
#front-page.en-main .anker_menu_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: -11.3rem;
  border-top: 4px solid var(--base-color);
}
@media screen and (max-width: 765px) {
  #front-page.en-main .anker_menu_list {
    justify-content: flex-start;
    border-top: none;
  }
}
#front-page.en-main .anker_menu_list .list_item {
  flex: 1 1 20%;
  background-color: var(--white);
  height: 15.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media screen and (max-width: 765px) {
  #front-page.en-main .anker_menu_list .list_item {
    height: 11rem;
  }
}
@media screen and (max-width: 765px) {
  #front-page.en-main .anker_menu_list .list_item {
    flex: 1 0 11rem;
  }
}
#front-page.en-main .anker_menu_list .list_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  transition-duration: 0.3s;
}
#front-page.en-main .anker_menu_list .list_item a:after {
  content: "";
  display: block;
  position: relative;
  width: 22px;
  height: 7px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../image/english_page/link_btn_arrow_blue.png);
  margin-top: 2.2rem;
}
@media screen and (max-width: 765px) {
  #front-page.en-main .anker_menu_list .list_item a:after {
    margin-top: 1rem;
  }
}
#front-page.en-main .anker_menu_list .list_item a:hover {
  background-color: #ccc;
  transition-duration: 0.3s;
}
#front-page.en-main .anker_menu_list .list_item .icon_image {
  height: 4.2rem;
}
#front-page.en-main .anker_menu_list .list_item .icon_image img {
  width: auto;
  height: 100%;
  margin: 0 auto;
  display: block;
}
#front-page.en-main .anker_menu_list .list_item .title {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 1.1rem;
  text-align: center;
}
@media screen and (max-width: 940px) {
  #front-page.en-main .anker_menu_list .list_item .title {
    font-size: 1.6rem;
    white-space: nowrap;
  }
}
#front-page.en-main .section_head.typeA {
  font-size: 5.2rem;
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (max-width: 765px) {
  #front-page.en-main .section_head.typeA {
    font-size: 4.2rem;
  }
}
#front-page.en-main .section_head.typeA::first-letter {
  color: var(--base-color);
}
#front-page.en-main .section_head.typeA::after {
  content: "";
  display: block;
  width: 5.6rem;
  height: 2px;
  background-color: var(--dark_blue);
  margin-top: 2rem;
}
#front-page.en-main .lead_text {
  font-size: 1.8rem;
  line-height: 1.72;
  margin-top: 2.5rem;
}
#front-page.en-main .lead_text a {
  color: #676767;
  text-decoration: underline;
}
#front-page.en-main .lead_text a:hover {
  color: var(--base-color);
  text-decoration: none;
}
#front-page.en-main #en-front-strength {
  padding: 13rem 0 8rem 0;
  margin-top: -8rem;
}
#front-page.en-main .strength_list {
  display: flex;
  align-items: baseline;
  justify-content: space-around;
  margin-top: 5rem;
}
@media screen and (max-width: 650px) {
  #front-page.en-main .strength_list {
    flex-wrap: wrap;
    gap: 2rem;
    padding: 0 2rem;
  }
}
#front-page.en-main .strength_list .list_item {
  flex: 0 1 31%;
  position: relative;
  background-color: var(--white);
  box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.07);
}
@media screen and (max-width: 650px) {
  #front-page.en-main .strength_list .list_item {
    flex: 0 0 100%;
  }
}
#front-page.en-main .strength_list .list_item .text_area .num {
  font-family: "Open Sans", sans-serif;
  font-size: 3.3rem;
  padding: 1.1rem 2.4rem;
  background-color: var(--dark_blue);
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  color: var(--white);
  letter-spacing: 0.05em;
  position: absolute;
  top: -1rem;
  left: -1rem;
}
#front-page.en-main .strength_list .list_item .text_area .desc {
  padding: 4.4rem 2.4rem;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#front-page.en-main .strength_list .list_item .image {
  padding-left: 2.4rem;
  box-sizing: border-box;
  margin: 0 0 0 auto;
}

#en-front-service {
  padding: 8rem 0 20rem 0;
}
@media screen and (max-width: 765px) {
  #en-front-service {
    padding: 6rem 0;
  }
}
#en-front-service .lead_text {
  margin-bottom: 6rem;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary .column2 {
    flex-direction: column-reverse;
  }
}
#en-front-service .block-primary .image_area {
  position: relative;
  max-width: 65rem;
  height: auto;
  padding-top: 9rem;
  padding-bottom: 6rem;
  max-height: 38.3rem;
  overflow: hidden;
  transform: scale(1.1);
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary .image_area {
    transform: scale(1);
    margin: 0 auto;
    padding: 2rem;
  }
}
#en-front-service .block-primary .image_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#en-front-service .block-primary .text_area {
  width: 100%;
  max-width: 56rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary .text_area {
    margin-bottom: 0;
    max-width: initial;
  }
}
#en-front-service .block-primary .text_area .block_title {
  padding-left: 4rem;
  position: relative;
  color: var(--white);
  font-size: 4.2rem;
  font-weight: bold;
  padding-top: 4.3rem;
  padding-bottom: 5.3rem;
}
@media screen and (max-width: 950px) {
  #en-front-service .block-primary .text_area .block_title {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary .text_area .block_title {
    padding-left: 2rem;
    background-color: #35465A;
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 3rem;
  }
}
#en-front-service .block-primary .text_area p {
  margin-top: 3.15rem;
  font-size: 1.6rem;
  line-height: 1.75;
  padding-left: 4rem;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary .text_area p {
    padding: 0 2rem;
  }
}
#en-front-service .block-primary:nth-of-type(odd) .image_area {
  left: -9rem;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary:nth-of-type(odd) .image_area {
    left: 0;
  }
}
#en-front-service .block-primary:nth-of-type(odd) .block_title::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  height: 13.8rem;
  background-color: #35465A;
  z-index: -10;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary:nth-of-type(odd) .block_title::before {
    background-color: transparent;
  }
}
#en-front-service .block-primary:nth-of-type(even) .column2 {
  flex-direction: row-reverse;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary:nth-of-type(even) .column2 {
    flex-direction: column-reverse;
  }
}
#en-front-service .block-primary:nth-of-type(even) .image_area {
  right: -9rem;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary:nth-of-type(even) .image_area {
    right: 0;
  }
}
#en-front-service .block-primary:nth-of-type(even) .block_title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: auto;
  top: 0;
  width: 100vw;
  height: 13.8rem;
  background-color: #35465A;
  z-index: -10;
}
@media screen and (max-width: 765px) {
  #en-front-service .block-primary:nth-of-type(even) .block_title::before {
    background-color: transparent;
  }
}
#en-front-service .block-primary:nth-of-type(even) .text_area {
  padding-right: 4rem;
}
#en-front-service .block_secondary .block_title {
  padding-left: 4rem;
  position: relative;
  color: var(--white);
  font-size: 4.2rem;
  font-weight: bold;
  padding-top: 4.3rem;
  padding-bottom: 5.3rem;
}
@media screen and (max-width: 950px) {
  #en-front-service .block_secondary .block_title {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 765px) {
  #en-front-service .block_secondary .block_title {
    padding-left: 2rem;
    background-color: #35465A;
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 3rem;
  }
}
#en-front-service .block_secondary .block_title::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  height: 13.8rem;
  background-color: #35465A;
  z-index: -10;
}
@media screen and (max-width: 765px) {
  #en-front-service .block_secondary .block_title::before {
    background-color: transparent;
  }
}
#en-front-service .block_secondary .other_service_list .list_item {
  padding: 4rem 0 0 4rem;
}
@media screen and (max-width: 600px) {
  #en-front-service .block_secondary .other_service_list .list_item {
    padding: 4rem 2rem 0 2rem;
  }
}
@media screen and (max-width: 600px) {
  #en-front-service .block_secondary .other_service_list .list_item .column2 {
    flex-direction: column;
    gap: 2rem;
  }
}
#en-front-service .block_secondary .other_service_list .list_item .image_area {
  min-width: 30rem;
}
@media screen and (max-width: 765px) {
  #en-front-service .block_secondary .other_service_list .list_item .image_area {
    min-width: initial;
  }
}
#en-front-service .block_secondary .other_service_list .list_item .text_area {
  padding-left: 3rem;
  width: 100%;
}
@media screen and (max-width: 600px) {
  #en-front-service .block_secondary .other_service_list .list_item .text_area {
    padding: 0;
  }
}
#en-front-service .block_secondary .other_service_list .list_item .text_area .title {
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
  line-height: 1.5;
}
#en-front-service .block_secondary .other_service_list .list_item .text_area .desc {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 500;
}

#en-front-about_us {
  position: relative;
  background-color: var(--light_gray);
  padding-bottom: 0;
}
#en-front-about_us::before {
  content: "";
  display: block;
  position: absolute;
  background: var(--dark_gray);
  width: 30%;
  height: 100%;
  left: 0;
  top: 0;
}
@media screen and (max-width: 765px) {
  #en-front-about_us::before {
    display: none;
  }
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .wrap-primary {
    padding: 0;
  }
}
#en-front-about_us dl .section_head.typeB {
  font-size: 4.2rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
  margin-top: 6rem;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .section_head.typeB {
    padding: 0 2rem;
    margin: 3rem 0;
  }
}
#en-front-about_us dl .section_head.typeB:after {
  content: "";
  display: block;
  width: 5.6rem;
  height: 2px;
  background-color: var(--white);
  margin-top: 2rem;
}
#en-front-about_us dl .block_head {
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .block_head {
    padding: 2rem;
    font-size: 2.5rem;
  }
  #en-front-about_us dl .block_head br {
    display: none;
  }
}
#en-front-about_us dl .wrap-primary {
  display: flex;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .wrap-primary {
    flex-direction: column;
  }
}
#en-front-about_us dl dt {
  color: var(--white);
  flex: 0 0 27.5rem;
  background: var(--dark_gray);
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl dt {
    flex: 0 0 auto;
  }
}
#en-front-about_us dl dd {
  padding-left: 9.6rem;
  line-height: 1.75;
  font-size: 1.6rem;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl dd {
    padding-left: 0;
  }
}
#en-front-about_us dl dd .text_area,
#en-front-about_us dl dd .image_area {
  padding-bottom: 5rem;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl dd .text_area,
  #en-front-about_us dl dd .image_area {
    padding: 2rem;
  }
}
#en-front-about_us dl .message {
  padding-top: 6rem;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .message {
    padding-top: 2rem;
  }
}
#en-front-about_us dl .outline {
  padding-bottom: 8rem;
  width: 100%;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .outline {
    padding: 2rem;
    box-sizing: border-box;
  }
}
#en-front-about_us dl .data_group:not(:last-of-type) {
  border-bottom: 1px solid #1A222B;
  padding-bottom: 2rem;
}
#en-front-about_us dl .data_group:not(:first-of-type) {
  margin-top: 2rem;
}
#en-front-about_us dl .data_group .title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .data_group .data.column2 {
    flex-direction: column;
  }
}
#en-front-about_us dl .data_group .data.column2 span {
  display: block;
}
#en-front-about_us dl .data_group .data.column2 .text {
  width: 100%;
}
#en-front-about_us dl .data_group .data.column2 .image {
  max-width: 28.8rem;
}
@media screen and (max-width: 765px) {
  #en-front-about_us dl .data_group .data.column2 .image {
    max-width: initial;
    width: 80%;
    margin: 2rem auto;
  }
}

#en-front-inquiry {
  padding-top: 8rem;
}
@media screen and (max-width: 765px) {
  #en-front-inquiry {
    padding-top: 4rem;
  }
}
#en-front-inquiry .section_head::first-letter {
  color: inherit !important;
}
#en-front-inquiry .form_area .required::after {
  content: "Required";
  display: block;
  background-color: #D52C2C;
  font-size: 1.1rem;
  border-radius: 0;
  padding: 0 1em;
  height: 2.4rem;
  line-height: 2.4rem;
}
#en-front-inquiry .form_area .input_area.multiple {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
@media screen and (max-width: 765px) {
  #en-front-inquiry .form_area .input_area.multiple {
    flex-direction: column;
    gap: 1rem;
  }
}
#en-front-inquiry .form_area .input_area.multiple input {
  flex: 1 0 49%;
  width: 100%;
}
#en-front-inquiry .form_area .row .title_area {
  padding-left: 0;
  font-size: 2rem;
}
#en-front-inquiry .form_area .scroll_area {
  overflow-y: scroll;
  padding: 2rem 3rem;
  height: 25.5rem;
  border: 1px solid #ADBCCC;
  box-sizing: border-box;
}
#en-front-inquiry .form_area .scroll_area p {
  font-size: 1.4rem;
  line-height: 2;
}
#en-front-inquiry .form_area .submit_btn {
  border: 0;
  border-radius: 0;
  max-width: 37.5rem;
  width: 100%;
  margin: 6rem auto 0 auto;
}
#en-front-inquiry .form_area .submit_btn:after {
  width: 8px;
}
#en-front-inquiry .form_area .submit_btn input {
  height: initial;
  line-height: initial;
  max-width: initial;
  font-size: 1.9rem;
}

.en-footer {
  padding: 0;
}
.en-footer .copylight {
  font-size: 1rem;
  letter-spacing: 0.05em;
  height: 4.1rem;
  line-height: 4.1rem;
  padding: 0;
}/*# sourceMappingURL=style.css.map */