@charset "UTF-8";
/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #000;
  font-size: 3.846vw;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  /*font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
  /*font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
  /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
  /*font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;*/
  -webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 468px) {
  html {
    font-size: 18px;
  }
}
a {
  color: #000;
  display: block;
}

#wrapper {
  width: 100%;
  height: 100%;
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  width: 100%;
  padding: 0 1rem;
}

.container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1.8666666667rem;
}

.m_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.s_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.is_pc {
  display: none;
}

.is_hidden_tab {
  display: none;
}

.objectCover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.inertia {
  -webkit-overflow-scrolling: touch;
}

.preload * {
  transition: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ 共通 ▼
//
///////////////////////////////////////////////////*/
h1,
h2,
h3,
h4,
.en {
  font-family: "Shippori Mincho B1", serif;
}

.top h1,
.top h2,
.top h3,
.top h4 {
  font-weight: 500;
}

.btn {
  width: 16.1526666667rem;
  height: 3.628rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0066ad;
}
.btn span {
  color: #fff;
  line-height: 1;
  font-size: 0.9333333333rem;
  letter-spacing: 0.005em;
}

.top_ttl .line {
  font-size: 0.8666666667rem;
  color: #0066ad;
  line-height: 1;
}
.top_ttl .en {
  margin: 0.6rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 600;
  color: #0066ad;
  line-height: 1;
}
.top_ttl h2 {
  font-size: 1.7333333333rem;
  margin: 2rem 0 0;
  color: #333333;
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
  background: #fff;
}
header .header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 1.5rem;
  height: 3.6666666667rem;
}
header .header_inner .box01 {
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner .box01 .logo {
  display: flex;
  align-items: center;
  gap: 1.1333333333rem;
  width: 7.5333333333rem;
}
header .header_inner .box01 .logo a {
  width: 100%;
}
header .header_inner .box01 .logo a img {
  display: block;
  width: 100%;
  height: auto;
}
header .header_inner .box01 .c_name {
  font-size: 0.8666666667rem;
  margin-top: 0.6rem;
}
header .header_inner .box02 nav {
  padding: 3rem 2rem 6rem;
  position: fixed;
  overflow-y: scroll;
  top: 3.6666666667rem;
  right: -100%;
  width: 100%;
  background: #ebebeb;
  transition: 0.3s;
  height: 100%;
  transform: translateZ(0);
}
header .header_inner .box02 nav.active {
  right: 0;
}
header .header_inner .box02 nav ul {
  margin: 1.3333rem auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: start;
}
header .header_inner .box02 nav ul li {
  width: 100%;
  height: auto;
  border-bottom: solid 1px #c5c5c5;
}
header .header_inner .box02 nav ul li .nav_link {
  position: relative;
  width: 100%;
  padding: 1.1rem 0 1.1rem 0.8rem;
}
header .header_inner .box02 nav ul li .nav_link::before {
  content: "〉";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-100%, -50%);
  width: 3.4rem;
  height: 100%;
  font-size: 1.0373333333rem;
  color: #fff;
  font-weight: 400;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}
header .header_inner .box02 nav ul li .nav_link span {
  font-size: 1.06rem;
  color: #000;
}
header .header_inner .box02 nav ul .nav03 .nav_hover,
header .header_inner .box02 nav ul .nav04 .nav_hover,
header .header_inner .box02 nav ul .nav05 .nav_hover {
  display: none !important;
}
header .header_inner .box02 nav ul .nav03 .toggle,
header .header_inner .box02 nav ul .nav04 .toggle,
header .header_inner .box02 nav ul .nav05 .toggle {
  display: none;
}
header .header_inner .box02 nav ul .nav03 .toggle01::before,
header .header_inner .box02 nav ul .nav04 .toggle01::before,
header .header_inner .box02 nav ul .nav05 .toggle01::before {
  content: "ー";
  background: linear-gradient(to bottom, #ebebeb 0%, #ebebeb 7%, #d6d6d6 8%);
  transform: translate(-100%, -50%);
}
header .header_inner .box02 nav ul .nav03 .toggle01::after,
header .header_inner .box02 nav ul .nav04 .toggle01::after,
header .header_inner .box02 nav ul .nav05 .toggle01::after {
  content: "＋";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-100%, -50%);
  transform-origin: center;
  width: 3.4rem;
  height: 100%;
  font-size: 1.0373333333rem;
  color: #fff;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}
header .header_inner .box02 nav ul .nav03 .toggle01.active02::after,
header .header_inner .box02 nav ul .nav04 .toggle01.active02::after,
header .header_inner .box02 nav ul .nav05 .toggle01.active02::after {
  opacity: 0;
  transform: translate(-100%, -50%);
}
header .header_inner .box02 nav ul .nav03 .toggle02,
header .header_inner .box02 nav ul .nav04 .toggle02,
header .header_inner .box02 nav ul .nav05 .toggle02 {
  display: none;
  justify-content: center;
  flex-direction: column;
  padding: 0 0.4666666667rem;
  background: #d6d6d6;
  margin-bottom: 0.3rem;
}
header .header_inner .box02 nav ul .nav03 .toggle02 .menu,
header .header_inner .box02 nav ul .nav04 .toggle02 .menu,
header .header_inner .box02 nav ul .nav05 .toggle02 .menu {
  position: relative;
  padding: 0.98rem 0 0.98rem 0.6rem;
  border-bottom: solid 1px #ebebeb;
}
header .header_inner .box02 nav ul .nav03 .toggle02 .menu:last-of-type,
header .header_inner .box02 nav ul .nav04 .toggle02 .menu:last-of-type,
header .header_inner .box02 nav ul .nav05 .toggle02 .menu:last-of-type {
  border-bottom: none;
}
header .header_inner .box02 nav ul .nav03 .toggle02 .menu::before,
header .header_inner .box02 nav ul .nav04 .toggle02 .menu::before,
header .header_inner .box02 nav ul .nav05 .toggle02 .menu::before {
  padding-left: 0.8rem;
  content: "〉";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-86%, -50%);
  width: 3.2rem;
  height: 100%;
  font-size: 1.0373333333rem;
  color: #fff;
  font-weight: 400;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}
header .header_inner .box02 nav ul .nav03 .toggle02 .menu span,
header .header_inner .box02 nav ul .nav04 .toggle02 .menu span,
header .header_inner .box02 nav ul .nav05 .toggle02 .menu span {
  font-size: 0.908rem;
  color: #000;
}
header .header_inner .box02 nav ul .nav03 .active02,
header .header_inner .box02 nav ul .nav04 .active02,
header .header_inner .box02 nav ul .nav05 .active02 {
  display: block;
}
header .header_inner .box02 nav ul .nav01.nav_blue .nav_link {
  background: transparent;
}
header .header_inner .box02 nav ul .nav01.nav_blue .nav_link span {
  color: #000;
}
header .header_inner .box02 nav ul .nav02.nav_blue .nav_link {
  background: transparent;
}
header .header_inner .box02 nav ul .nav02.nav_blue .nav_link span {
  color: #000;
}
header .header_inner .box02 nav ul .nav03.nav_blue .nav_link {
  background: transparent;
}
header .header_inner .box02 nav ul .nav03.nav_blue .nav_link span {
  color: #000;
}
header .header_inner .box02 nav ul .nav04.nav_blue .nav_link {
  background: transparent;
}
header .header_inner .box02 nav ul .nav04.nav_blue .nav_link span {
  color: #000;
}
header .header_inner .box02 nav ul .nav_r .nav_link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  justify-content: flex-start;
}
header .header_inner .box02 nav ul .nav_r .nav_link .link {
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner .box02 nav .nav_inner {
  margin-top: 1.9333333333rem;
}
header .header_inner .box02 nav .nav_inner .h_contact02 {
  margin: 0rem auto 0;
  width: 17.0706666667rem;
  height: 4.3333333333rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
header .header_inner .box02 nav .nav_inner .h_contact02 span {
  color: #fff;
  font-size: 1rem;
}
header .header_inner .box02 nav .nav_inner .h_tel {
  margin: 1.3333333333rem auto 0;
  width: 17.1153333333rem;
  height: 4.1106666667rem;
  background: #0066ad;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner .box02 nav .nav_inner .h_tel span {
  color: #fff;
  font-size: 0.9333333333rem;
}
header .header_inner .box02 nav .nav_inner .tab_logo {
  margin: 4rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner .box02 nav .nav_inner .tab_logo .logo01 figure {
  width: 12.2473333333rem;
  height: 4.2273333333rem;
  display: flex;
  align-items: center;
  justify-content: center;
  mix-blend-mode: multiply;
}
header .header_inner .box02 nav .nav_inner .tab_logo .logo01 figure img {
  width: 100%;
}
header .header_inner .box02 nav .nav_inner .tab_logo .logo01 .c_name {
  font-size: 1.03rem;
  text-align: center;
}
header .header_inner .box02 nav .nav_inner .tab_logo .logo02 figure {
  width: 8.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner .box02 nav .nav_inner .tab_logo .logo02 figure img {
  width: 100%;
}
header .header_inner .box02 nav .nav_inner ul {
  margin: 3.9333333333rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: repeat(3, auto);
  grid-gap: 10px 10px;
  list-style: none;
  width: -moz-fit-content;
  width: fit-content;
}
header .header_inner .box02 nav .nav_inner ul li {
  border-bottom: none;
  width: -moz-fit-content;
  width: fit-content;
}
header .header_inner .box02 nav .nav_inner ul li a {
  display: inline-block;
}
header .header_inner .box02 nav .nav_inner ul li a span {
  font-size: 0.9333333333rem;
}
header .header_inner .menu_open {
  width: 3.6666666667rem;
  height: 3.6666666667rem;
  position: relative;
  background: #ebebeb;
}
header .header_inner .menu_open span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #000000;
  width: 40%;
  height: 0.89px;
  transition: 0.3s;
}
header .header_inner .menu_open span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(7px);
}
header .header_inner .menu_open span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}
header .header_inner .menu_open span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-7px);
}
header .header_inner .menu_open.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header .header_inner .menu_open.active span:nth-of-type(2) {
  opacity: 0;
}
header .header_inner .menu_open.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター ▼
//
///////////////////////////////////////////////////*/
footer {
  position: relative;
  z-index: 1;
  background: #000;
  padding: 7.2rem 2rem 1.6rem;
}
footer .footer_in .f_logo {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -79%);
  width: 22.5333333333rem;
  height: 16.2666666667rem;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
}
footer .footer_in .f_logo .logo01 {
  width: 15.3333333333rem;
}
footer .footer_in .f_logo .logo02 {
  width: 9.9333333333rem;
  height: 4.0066666667rem;
}
footer .footer_in .box01 .c_name {
  margin: 0 0 2.8133333333rem;
  font-size: 1.5333333333rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
}
footer .footer_in .box01 .access {
  margin: 3.1333333333rem 0 0;
}
footer .footer_in .box01 .access:not(:first-of-type) {
  margin-top: 2.2rem;
}
footer .footer_in .box01 .access p {
  letter-spacing: 0.05em;
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
}
footer .footer_in .box01 .access p:not(:first-of-type) {
  margin-top: 6px;
}
footer .footer_in .box01 .access .bold {
  margin: 0 0 1.5333333333rem;
  font-size: 1.0666666667rem;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1.2;
}
footer .footer_in .box02 {
  margin: 4.3333333333rem 0 0;
}
footer .footer_in .box02 .inner01 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 2.7333333333rem;
}
footer .footer_in .box02 .inner01 ul {
  display: flex;
  flex-direction: column;
  gap: 0.8666666667rem;
}
footer .footer_in .box02 .inner01 ul li a {
  line-height: 1.4;
  display: inline-block;
}
footer .footer_in .box02 .inner01 ul li a span {
  font-size: 1.0666666667rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
footer .footer_in .box02 .inner01 ul li a:hover {
  opacity: 0.7;
}
footer .footer_in .box02 .inner01 ul li ul li {
  line-height: 1.7;
  margin: 0 0 0 1.6666666667rem;
}
footer .footer_in .box02 .inner01 ul li ul li:first-of-type {
  margin-top: 0.8666666667rem;
}
footer .footer_in .box02 .inner01 ul li ul li a span {
  font-size: 0.9333333333rem;
}
footer .footer_in .box02 .inner01 ul .blank01 {
  margin-top: 2.8666666667rem;
}
footer .footer_in .box02 .inner01 ul .blank01 .nav_r {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
footer .footer_in .box02 .inner01 ul .blank01 .nav_r .link {
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .footer_in .box02 .inner01 ul .blank01 .nav_r .link svg path {
  fill: #fff;
  stroke: #fff;
}
footer .footer_in .box02 .inner01 ul .blank02 {
  margin-top: 3.3333333333rem;
}
footer .footer_in .box02 .inner02 {
  margin: 4.5333333333rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1.8rem;
}
footer .footer_in .box02 .inner02 .f_contact {
  width: 21.4113333333rem;
  background: #0066ad;
  gap: 0.8266666667rem;
}
footer .footer_in .box02 .inner02 .f_contact .mail {
  padding: 0.1rem 0 0;
}
footer .footer_in .box02 .inner02 .f_contact span {
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.05em;
}
footer .footer_in .box02 .inner02 .f_contact span svg {
  width: 1.4906666667rem;
}
footer .footer_in .box02 .inner02 .f_contact span svg path {
  fill: #fff;
  stroke: #fff;
}
footer .footer_in .box02 .inner02 .f_tel {
  background: #0066ad;
  width: 21.4113333333rem;
}
footer .footer_in .box02 .inner02 .f_tel span {
  font-size: 0.9333333333rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
footer .copyright {
  margin: 5.04rem 0 0;
}
footer .copyright p {
  font-size: 0.9333333333rem;
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.05em;
}
footer .move_page_top {
  background: #000;
  width: 3.8666666667rem;
  height: 3.8666666667rem;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .move_page_top svg {
  width: 2.1106666667rem;
  height: 1.244rem;
}
footer .move_page_top svg path {
  fill: #fff;
  stroke: #fff;
}
footer .move_page_top:hover {
  opacity: 0.8;
}
footer .to_top {
  position: fixed;
  right: 10px;
  bottom: 10px;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA ▼
//
///////////////////////////////////////////////////*/
.cta {
  position: relative;
  z-index: 1;
  padding: 0 0 17rem;
  background: #fff;
}
.cta .cta_outer {
  padding: 5.6666666667rem 3.6666666667rem 7.7333333333rem;
  background: url(../images/common/cta_bg_sp.jpg) center center/cover no-repeat;
}
.cta .ttl h2 {
  font-size: 0.8666666667rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}
.cta .ttl .en {
  font-size: 2.2426666667rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.1979785969;
  letter-spacing: 0.05em;
}
.cta p {
  margin: 2rem 0 0;
  font-size: 0.9333333333rem;
  letter-spacing: 0.05em;
  color: #fff;
}
.cta .inner {
  margin: 5.6666666667rem 0 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
}
.cta .inner .f_contact {
  gap: 1.1333333333rem;
}
.cta .inner .btn {
  background: #fff;
  width: 18.8666666667rem;
}
.cta .inner .btn span {
  font-size: 0.9333333333rem;
  color: #000;
}
.cta .inner .btn span svg {
  width: 1.4906666667rem;
}
.cta .inner .btn span svg path {
  fill: #000;
  stroke: #000;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01 ▼
//
///////////////////////////////////////////////////*/
.mv {
  position: fixed;
  z-index: 0;
  top: 3.6666666667rem;
  left: 0;
  width: 100%;
  height: 57.6rem;
}

.top01 {
  margin: 8.2rem 0 0;
  padding: 15rem 2rem 0;
  background: #fff;
  background: linear-gradient(to bottom, transparent 0%, #fff 40%, #fff 100%);
}
.top01 .box {
  position: relative;
  padding: 4.2666666667rem 2rem 6rem;
  background: linear-gradient(to bottom, rgba(0, 102, 173, 0.75) 0%, rgba(0, 79, 133, 0.36) 71.98%, rgba(0, 51, 87, 0) 100%);
}
.top01 .box h2 {
  display: flex;
  flex-direction: column;
  gap: 1.4666666667rem;
}
.top01 .box h2 span {
  font-size: 2.1333333333rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
}
.top01 .box h2 .small {
  font-size: 1.9333333333rem;
}
.top01 .box p {
  margin: 3.5466666667rem 0 0;
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  font-size: 0.9333333333rem;
}
.top01 .box p span {
  display: block;
  margin: 2.2666666667rem 0 0;
}
.top01 .box .btn_wrap {
  margin: 4.046667rem 0 0;
}
.top01 .box .btn_wrap .btn {
  width: 16.1333333333rem;
}
/*///////////////////////////////////////////////////
//
//            ▼ トップ02 ▼
//
///////////////////////////////////////////////////*/
.top02 {
  background: #fff;
  padding: 0 2rem;
}
.top02 .box01 p {
  margin: 1.8rem 0 0;
  color: #333333;
  font-weight: 400;
  font-size: 0.9333333333rem;
  font-family: "Shippori Mincho B1", serif;
}
.top02 .box02 {
  margin: 4rem 0 0;
}
.top02 .box02 .inner p {
  font-weight: 300;
  color: #707070;
  font-size: 0.9333333333rem;
}
.top02 .box02 .inner + .inner {
  margin-top: 2.6666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ03 ▼
//
///////////////////////////////////////////////////*/
.top03 {
  padding: 8.8666666667rem 0 5.5333333333rem;
  background: #fff;
}
.top03 .box01 {
  padding: 0 2rem;
}
.top03 .box01 p {
  margin: 1.5rem 0 0;
  color: #333333;
  font-weight: 400;
  font-family: "Shippori Mincho B1", serif;
}
.top03 .box02 {
  margin: 3.1333333333rem 0 0;
  padding: 0 0 0 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.2666666667rem;
}
.top03 .box02 .inner {
  padding: 10.8rem 1.9333333333rem 6.2666666667rem 3.6rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.top03 .box02 .inner::before {
  padding: 0 0 0 1rem;
  content: "〉";
  position: absolute;
  top: 35%;
  left: 0%;
  transform: translate(-50%, -50%);
  width: 3.7333333333rem;
  height: 3.6rem;
  font-size: 0.9333333333rem;
  background: #0066ad;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  z-index: 1;
  letter-spacing: -0.425em;
}
.top03 .box02 .inner figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top03 .box02 .inner figure img {
  height: 100%;
}
.top03 .box02 .inner h3 {
  position: relative;
  z-index: 1;
  font-size: 1.7333333333rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.6;
}
.top03 .box02 .inner p {
  position: relative;
  z-index: 1;
  letter-spacing: -0.03em;
  font-size: 1.0666666667rem;
  line-height: 2;
  font-weight: 300;
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ04 ▼
//
///////////////////////////////////////////////////*/
.top04 {
  background: #f5f9fe;
  padding: 1.6466666667rem 0 6.2666666667rem;
}
.top04 .top04_in .box01 {
  padding: 0 2rem;
}
.top04 .top04_in .box01 p {
  margin: 1rem 0 0;
  color: #333333;
  font-family: "Shippori Mincho B1", serif;
}
.top04 .top04_in .box02 {
  margin: 7.3333333333rem 0 0;
  padding: 0 1.5333333333rem 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 2.6666666667rem;
}
.top04 .top04_in .box02 .inner h3 {
  margin: 0.5333333333rem 0 0;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ05 ▼
//
///////////////////////////////////////////////////*/
.top05 {
  background: #fff;
  padding: 1.4733333333rem 2rem 0;
}
.top05 .top05_in .box01 p {
  margin-top: 1rem;
  color: #333333;
  font-family: "Shippori Mincho B1", serif;
}
.top05 .top05_in .box01 .btn_wrap {
  margin: 2.5333333333rem 0 0;
}
.top05 .top05_in .box01 .btn_wrap .btn {
  width: 18.886rem;
}
.top05 figure {
  margin: 3.7333333333rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ06 ▼
//
///////////////////////////////////////////////////*/
.top06 {
  background: #fff;
  padding: 4.5333333333rem 2rem 5.8666666667rem;
}
.top06 .top06_in .top_box_outer {
  display: flex;
  flex-direction: column;
}
.top06 .top06_in .box02 ul li {
  border: solid #c5c5c5;
  border-width: 0.68px 0 0 0;
  padding: 1.4rem 0;
}
.top06 .top06_in .box02 ul li:last-of-type {
  border-width: 0.68px 0 0.68px 0;
}
.top06 .top06_in .box02 ul li a {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 4px;
}
.top06 .top06_in .box02 ul li a .time {
  font-size: 0.9333333333rem;
  color: #333333;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.top06 .top06_in .box02 ul li a p {
  font-size: 0.9333333333rem;
  color: #333333;
  line-height: 1.5;
  font-weight: 400;
}
.top06 .top06_in .box02 ul .no_article {
  font-size: 0.9333333333rem;
  color: #333;
  margin: 1.3333333333rem 0 0 0.5333333333rem;
}
.top06 .top06_in .box02 .btn_wrap {
  margin: 2.1333333333rem 0 0 11px;
}
.top06 .top06_in .box02 .btn_wrap .btn02 {
  display: inline-block;
  position: relative;
  line-height: 1;
  text-decoration: underline;
  font-size: 0.9333333333rem;
  color: #333333;
  letter-spacing: 0.05em;
}
.top06 .top06_in .box02 .btn_wrap .btn02::before {
  content: "〉";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-50%, -50%);
  font-size: 0.9333333333rem;
  color: #333333;
  margin: 0 0 0 1.6666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通 ▼
//
///////////////////////////////////////////////////*/
.introduction .introduction_box .item {
  width: 100%;
  margin: 0 0 0.1333333333rem;
}
.introduction .introduction_box .item a {
  position: relative;
}
.introduction .introduction_box .item a figure img {
  width: 100%;
  height: 100%;
}
.introduction .introduction_box .item a .txt_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: -moz-max-content;
  width: max-content;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  color: #fff;
  z-index: 1;
}
.introduction .introduction_box .item a .txt_box span {
  font-size: 1.1333333333rem;
}
.introduction .introduction_box .item a .txt_box p {
  font-size: 1.3333333333rem;
  font-family: "Shippori Mincho B1", serif;
  margin: 1rem 0 0;
}

.lower_mv {
  margin: 0.1466666667rem 0 0;
  position: relative;
}
.lower_mv figure img {
  width: 100%;
  left: 100%;
}
.lower_mv .ttl_box {
  position: absolute;
  top: 70%;
  left: 9%;
  transform: translateY(-50%);
}
.lower_mv .ttl_box span {
  display: block;
  font-size: 0.9333333333rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
}
.lower_mv .ttl_box h1 {
  font-size: 1.7333333333rem;
  font-weight: 500;
  letter-spacing: 0.009em;
  line-height: 1.71;
  color: #fff;
  margin: 0.6666666667rem 0 0;
}

.breadcramb {
  margin: 3.6666666667rem 0 0;
  border-top: solid 1px #bcbcbc;
  border-bottom: solid 1px #bcbcbc;
}
.breadcramb .breadcramb_container {
  width: 95.43%;
  margin: 0 auto;
}
.breadcramb .breadcramb_container ul {
  display: flex;
  gap: 1.4666666667rem;
  padding: 0.6666666667rem 0;
}
.breadcramb .breadcramb_container ul li {
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.breadcramb .breadcramb_container ul li a {
  padding: 0 1.9333333333rem 0 0;
  position: relative;
}
.breadcramb .breadcramb_container ul li a::before {
  position: absolute;
  content: ">";
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 0.8rem;
  color: #000;
}

.headword {
  max-width: 650px;
  margin: 0 auto;
  padding: 4rem 1.8666666667rem 5.3333333333rem;
}
.headword p {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: 0 auto;
}

.related_links {
  border-top: solid 1px #104883;
  padding: 2.8rem 0 4.44rem;
}
.related_links .related_links_box .item {
  margin: 2.1333333333rem 0.5333333333rem 0;
}
.related_links .related_links_box .item .link_txt {
  margin: 0.6666666667rem 0 0;
}
.related_links .related_links_box .item .link_txt p {
  font-size: 0.9333333333rem;
  font-weight: 300;
  line-height: 1;
}
.related_links .related_links_box .item .link_txt p span {
  margin-right: 1.8666666667rem;
}
.related_links .related_links_box .item:first-of-type {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 -0.8rem 0 0;
}
.related_links .related_links_box .item:first-of-type h2 {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
.related_links .related_links_box .item:first-of-type .link_txt {
  margin-top: 0.2666666667rem;
}
.related_links .related_links_box .item:first-of-type .link_txt p span {
  border-bottom: solid 1px #000;
}
.related_links .related_links_box .item:nth-of-type(2) {
  margin-top: 2.7333333333rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 研究開発支援02 ▼
//            ▼ 実験設備の維持管理・工事請負02 ▼
//            ▼ 研究用特殊機器などの設計・製作02 ▼
//
///////////////////////////////////////////////////*/
.rd-support02 {
  padding: 0 0 5.3333333333rem;
}
.rd-support02 .rd-support02_content {
  background: #efefef;
  padding: 2.6666666667rem 1.8666666667rem 0;
}
.rd-support02 .rd-support02_content .txt_box {
  margin: 0 0 2.6666666667rem;
}
.rd-support02 .rd-support02_content .txt_box .txt_item h2 {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0 0 1.3866666667rem;
  position: relative;
}
.rd-support02 .rd-support02_content .txt_box .txt_item h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0.6666666667rem;
  height: 1px;
  background: #0066ad;
}
.rd-support02 .rd-support02_content .txt_box .txt_item .txt {
  font-size: 0.9333333333rem;
  font-weight: 300;
  font-family: "Shippori Mincho B1", serif;
  line-height: 2.29;
  color: #333333;
  margin: 1.5333333333rem 0 0;
}
.rd-support02 .rd-support02_content .txt_box .txt_item:last-of-type {
  margin: 2.6666666667rem 0 0;
}
.rd-support02 .rd-support02_content .img_box {
  position: relative;
}
.rd-support02 .rd-support02_content .img_box figure img {
  width: 100%;
  height: 100%;
}
.rd-support02 .rd-support02_content .img_box figure:first-of-type {
  margin: 0 0.3333333333rem 0 -1.8666666667rem;
}
.rd-support02 .rd-support02_content .img_box figure:last-of-type {
  width: 79.04%;
  max-width: 30.1333333333rem;
  margin: -1.6rem -1.8666666667rem 0 auto;
  position: relative;
  z-index: 1;
}
.rd-support02 .rd-support02_introduction {
  background: #fff;
  padding: 10.8666666667rem 0 0;
  margin: -5.5333333333rem 0 0;
}
.rd-support02 .rd-support02_introduction .rd-support02_introduction_in h2 {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #0066ad;
}
.rd-support02 .rd-support02_introduction .rd-support02_introduction_in .rd-support02_introduction_box .item {
  width: 100%;
  margin: 2rem 0 0;
}
.rd-support02 .rd-support02_introduction .rd-support02_introduction_in .rd-support02_introduction_box .item figure {
  margin: 0 -1.8666666667rem;
}
.rd-support02 .rd-support02_introduction .rd-support02_introduction_in .rd-support02_introduction_box .item figure img {
  width: 100%;
  height: 100%;
}
.rd-support02 .rd-support02_introduction .rd-support02_introduction_in .rd-support02_introduction_box .item .txt {
  font-size: 0.9333333333rem;
  font-weight: 300;
  letter-spacing: -0.1em;
  line-height: 1.37;
  margin: 1.3333333333rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 強み02 ▼
//
///////////////////////////////////////////////////*/
.feature02 {
  padding: 3.9333333333rem 0 7.5rem;
}
.feature02 .ttl {
  padding: 0 2rem;
}
.feature02 .ttl span {
  display: block;
  font-family: "Shippori Mincho B1", serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  color: #0066ad;
  text-align: center;
}
.feature02 .ttl h2 {
  margin: 1.3rem 0 0;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
  font-weight: 500;
}
.feature02 .box_outer {
  margin: 7rem 0 0;
}
.feature02 .box_outer .box {
  position: relative;
  padding: 0 1.7rem;
}
.feature02 .box_outer .box .box_in .inner {
  position: relative;
  z-index: 1;
}
.feature02 .box_outer .box .box_in .inner .sub_ttl {
  position: relative;
}
.feature02 .box_outer .box .box_in .inner .sub_ttl .num {
  position: absolute;
  top: -27%;
  right: 5%;
  width: 12.2353333333rem;
  height: 8.0166666667rem;
}
.feature02 .box_outer .box .box_in .inner .sub_ttl h3 {
  position: relative;
  z-index: 1;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  color: #000;
  font-weight: 500;
}
.feature02 .box_outer .box .box_in .inner p {
  margin: 2rem 0 0;
  font-family: "Shippori Mincho B1", serif;
  font-size: 0.9333333333rem;
  letter-spacing: 0.05em;
  line-height: 2.2857142857;
  color: #333333;
}
.feature02 .box_outer .box .box_in .img {
  margin: 2rem 0 0 -1.7rem;
}
.feature02 .box_outer .box01 .box_in .inner .sub_ttl .num {
  width: 10.786rem;
  height: 8.0166666667rem;
}
.feature02 .box_outer .bg_blue {
  background: #104883;
  background: linear-gradient(to bottom, #104883 0%, #104883 94%, #fff 94.1%, #fff 100%);
  margin: 4.4rem auto 0;
  padding: 5.533333rem 0 0rem;
}
.feature02 .box_outer .box02 .box_in .img {
  margin: 2rem -1.7rem 0 0;
}
.feature02 .box_outer .box02 .box_in .inner {
  margin: 0 0 0 auto;
  background: #104883;
}
.feature02 .box_outer .box02 .box_in .inner .sub_ttl h3 {
  color: #fff;
}
.feature02 .box_outer .box02 .box_in .inner p {
  color: #fff;
}
.feature02 .box_outer .box03 {
  margin: 9.5rem 0 0;
}
.feature02 .box_outer .box03 .box_in .inner .sub_ttl .num {
  top: -73%;
  width: 12.3rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 事業紹介01 ▼
//
///////////////////////////////////////////////////*/
.lower_mv02 {
  padding: 4.2rem 2rem 0;
  border: solid #bcbcbc;
  border-width: 0 0 1px;
}
.lower_mv02 .box_wrap {
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}
.lower_mv02 .box_wrap .ttl span {
  font-family: "Shippori Mincho B1", serif;
  font-size: 0.9333333333rem;
  font-weight: 600;
  color: #0066ad;
  letter-spacing: 0.05em;
  line-height: 1;
}
.lower_mv02 .box_wrap .ttl h1 {
  margin: 1.2rem 0 0;
  padding: 0 0 2.8666666667rem;
  position: relative;
  font-size: 1.7333333333rem;
  font-weight: 400;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1;
}
.lower_mv02 .box_wrap .ttl h1::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0%;
  width: 2.674rem;
  height: 1px;
  background: #0066ad;
}

/*///////////////////////////////////////////////////
//
//            ▼ 事業紹介02 ▼
//
///////////////////////////////////////////////////*/
.service02,
.case-studies02 {
  margin: 0 auto;
  padding: 0 2rem;
}
.service02 .box01,
.case-studies02 .box01 {
  margin: 4rem 0 0;
}
.service02 .box01 h2,
.case-studies02 .box01 h2 {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.service02 .box01 .logo_box,
.case-studies02 .box01 .logo_box {
  margin: 2rem 0 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.3333333333rem;
}
.service02 .box01 .logo_box .logo01,
.case-studies02 .box01 .logo_box .logo01 {
  width: 11.8666666667rem;
}
.service02 .box01 .logo_box .logo02,
.case-studies02 .box01 .logo_box .logo02 {
  width: 16.1333333333rem;
}
.service02 .box01 .logo_box .logo03,
.case-studies02 .box01 .logo_box .logo03 {
  width: 16.1333333333rem;
}
.service02 .box01 .logo_box .logo04,
.case-studies02 .box01 .logo_box .logo04 {
  width: 17.2rem;
}
.service02 .box01 p,
.case-studies02 .box01 p {
  margin: 2rem 0 0;
  font-size: 0.9333333333rem;
  color: #333333;
  letter-spacing: 0.05em;
  font-weight: 300;
  line-height: 2.2857142857;
  font-family: "Shippori Mincho B1", serif;
}
.service02 .box02,
.case-studies02 .box02 {
  padding: 6rem 0;
}
.service02 .box02 .inner,
.case-studies02 .box02 .inner {
  border: solid 0.96px #104883;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.service02 .box02 .inner:not(:first-of-type),
.case-studies02 .box02 .inner:not(:first-of-type) {
  margin: 2rem 0 0;
}
.service02 .box02 .inner .txt,
.case-studies02 .box02 .inner .txt {
  padding: 2.6666666667rem 1.6rem 1.4666666667rem;
}
.service02 .box02 .inner .txt .ttl h3,
.case-studies02 .box02 .inner .txt .ttl h3 {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.service02 .box02 .inner .txt .ttl .line,
.case-studies02 .box02 .inner .txt .ttl .line {
  margin: 0.6rem 0 0;
  font-size: 0.6666666667rem;
  line-height: 1;
  color: #0066ad;
}
.service02 .box02 .inner .txt p,
.case-studies02 .box02 .inner .txt p {
  margin: 1.0666666667rem 0 0;
  font-size: 0.9333333333rem;
  letter-spacing: 0.05em;
  color: #333333;
  font-family: "Shippori Mincho B1", serif;
}
.service02 .box02 .inner .txt .btn_wrap,
.case-studies02 .box02 .inner .txt .btn_wrap {
  margin: 1.1333333333rem 0 0;
}
.service02 .box02 .inner .txt .btn_wrap .btn,
.case-studies02 .box02 .inner .txt .btn_wrap .btn {
  position: relative;
  justify-content: start;
  width: 17.8666666667rem;
  height: 4.4513333333rem;
  padding: 0 1rem;
}
.service02 .box02 .inner .txt .btn_wrap .btn span,
.case-studies02 .box02 .inner .txt .btn_wrap .btn span {
  position: relative;
  font-size: 1.0666666667rem;
  font-weight: 300;
  line-height: 1.3;
}
.service02 .box02 .inner .txt .btn_wrap .btn::before,
.case-studies02 .box02 .inner .txt .btn_wrap .btn::before {
  content: "〉";
  position: absolute;
  font-size: 1.0666666667rem;
  color: #fff;
  top: 50%;
  right: 0%;
  transform: translate(-50%, -50%);
}
.service02 .box02 .img,
.case-studies02 .box02 .img {
  margin: 0.3333333333rem 0 0;
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 取引事例02 ▼
//
///////////////////////////////////////////////////*/
.case-studies02 .box_outer .box01 h2 {
  line-height: 2;
}
.case-studies02 .box_outer .box02 {
  padding: 5rem 0;
}
.case-studies02 .box_outer .box02 .inner {
  display: contents;
}
.case-studies02 .box_outer .box02 .inner .inner_in {
  padding: 1.8rem 1.5rem 2.1rem;
  border: solid 0.96px #104883;
  display: flex;
  flex-direction: column;
}
.case-studies02 .box_outer .box02 .inner .inner_in02 {
  margin: 4rem 0 0;
}
.case-studies02 .box_outer .box02 .inner .txt {
  display: contents;
}
.case-studies02 .box_outer .box02 .inner .txt .ttl {
  order: 1;
}
.case-studies02 .box_outer .box02 .inner .txt .ttl h3 {
  line-height: 2;
}
.case-studies02 .box_outer .box02 .inner .txt .num {
  order: 2;
  margin: 1.0666666667rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #0066ad;
  line-height: 1;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.05em;
}
.case-studies02 .box_outer .box02 .inner .txt p {
  order: 3;
}
.case-studies02 .box_outer .box02 .inner .txt .info {
  order: 5;
  margin: 1rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 1.7142857143;
}
.case-studies02 .box_outer .box02 .inner .txt .name {
  order: 6;
  margin: 1.5rem 0 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.case-studies02 .box_outer .box02 .inner .txt .name span {
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 1;
}
.case-studies02 .box_outer .box02 .inner .txt .btn_wrap {
  order: 7;
  margin-top: 2.3rem;
}
.case-studies02 .box_outer .box02 .inner .txt .btn_wrap .btn {
  padding: 0 0 0 1.4rem;
  width: 18.6rem;
  height: 4.4513333333rem;
}
.case-studies02 .box_outer .box02 .inner .txt .btn_wrap .btn::before {
  right: 4%;
}
.case-studies02 .box_outer .box02 .img_wrap {
  margin: 1rem 0 0;
  order: 4;
  padding: 2px;
}

/*///////////////////////////////////////////////////
//
//            ▼ 取引事例詳細01 ▼
//
///////////////////////////////////////////////////*/
.case01 {
  overflow: hidden;
}
.case01 figure {
  width: 100%;
}
.case01 figure img {
  width: 100%;
  left: 100%;
}
.case01 .ttl_box {
  position: absolute;
  top: 64.5%;
  left: 9%;
  transform: translateY(-50%);
}
.case01 .ttl_box span {
  display: block;
  font-size: 0.9333333333rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
}
.case01 .ttl_box h1 {
  line-height: 1.7076923077;
  margin: 0.9733333333rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 取引事例詳細02 ▼
//
///////////////////////////////////////////////////*/
.case02 .box_outer .box01 {
  padding: 4rem 1.8rem 0;
}
.case02 .box_outer .box01 h2 {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.case02 .box_outer .box01 .inner {
  margin: 4rem 0 0;
  padding: 1.7333333333rem 1.2rem;
  border: solid #bcbcbc;
  border-width: 1px 0;
}
.case02 .box_outer .box01 .inner .info {
  font-size: 0.9333333333rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.3714285714;
  font-family: "Shippori Mincho B1", serif;
}
.case02 .box_outer .box01 .inner .name {
  margin: 1.3333333333rem 0 0;
  font-size: 0.9333333333rem;
  font-family: "Shippori Mincho B1", serif;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.case02 .box_outer .box01 .inner .name span {
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
.case02 .box_outer .box02 {
  padding: 2.3rem 1.8rem 0;
}
.case02 .box_outer .box02 .inner_wrap {
  position: relative;
}
.case02 .box_outer .box02 .inner .txt h2 {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
.case02 .box_outer .box02 .inner .txt p {
  margin: 2rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 300;
  line-height: 2.2857142857;
  font-family: "Shippori Mincho B1", serif;
  color: #333333;
}
.case02 .box_outer .box02 .inner .txt p + p {
  margin-top: 2rem;
}
.case02 .box_outer .box02 .inner .img {
  margin: 2rem 0 0;
}
.case02 .box_outer .box02 .inner01 .img01 {
  margin: 2rem 3.8rem 0 -2rem;
}
.case02 .box_outer .box02 .inner02 {
  margin-top: 3.6666666667rem;
}
.case02 .box_outer .box02 .inner03 {
  margin-top: 3.6666666667rem;
}
.case02 .box_outer .box02 .inner03 .img03 {
  margin: 2rem 0 0 -2rem;
}
.case02 .box_outer .box02 .inner03 .img04 {
  margin: 2rem -2rem 0 4.5333333333rem;
}
.case02 .box_outer .box02 .inner04 {
  margin-top: 3.6666666667rem;
}
.case02 .box_outer .img05 {
  margin: 2rem 0 0;
}
.case02 .box_outer .box03 {
  margin: 5.3333333333rem auto 4rem;
  padding: 0 1.8rem;
}
.case02 .box_outer .box03 .inner {
  padding: 2.6666666667rem 1.6rem;
  border: solid 0.96px #104883;
}
.case02 .box_outer .box03 .inner .txt .ttl h2 {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.case02 .box_outer .box03 .inner .txt .ttl .line {
  font-size: 1.1146666667rem;
  line-height: 1;
  color: #0066ad;
}
.case02 .box_outer .box03 .inner .txt .num {
  margin: 1.8rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 400;
  color: #0066ad;
  line-height: 1;
  font-family: "Shippori Mincho B1", serif;
}
.case02 .box_outer .box03 .inner .txt .info {
  margin: 2rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
}
.case02 .box_outer .box03 .inner .txt .name {
  margin: 1.2rem 0 0;
  font-size: 0.9333333333rem;
  font-weight: 400;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
.case02 .box_outer .box03 .inner .img06 {
  margin: 2.5333333333rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 取引事例詳細01_02 ▼
//
///////////////////////////////////////////////////*/
.case01_02 .box_outer .box02 .inner_wrap .inner04 h2 {
  letter-spacing: -0.06em;
}

/*///////////////////////////////////////////////////
//
//            ▼ 取引事例詳細02_02 ▼
//
///////////////////////////////////////////////////*/
.case02_02 .box_outer .box03 .inner .txt .info {
  margin-top: 2rem;
}
.case02_02 .box_outer .box03 .inner .txt .info + .info {
  margin-top: 0.5rem;
}
.case02_02 .box_outer .box03 .inner .txt .name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 代表挨拶02 ▼
//
///////////////////////////////////////////////////*/
.message02 {
  margin: 0 0 4rem;
}
.message02 .headword {
  max-width: 100%;
}
.message02 .headword p {
  width: 100%;
}
.message02 .headword p span {
  padding-left: 1em;
}
.message02 .message02_in {
  padding: 0 2rem;
}
.message02 .message02_in h2 {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
.message02 .message02_in figure {
  margin: 2.6666666667rem -2rem 0;
}
.message02 .message02_in .txt_box {
  margin: 2.6666666667rem 0 0;
}
.message02 .message02_in .txt_box p {
  font-size: 0.9333333333rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 300;
  line-height: 2.29;
  letter-spacing: -0.0171em;
  color: #333;
}
.message02 .message02_in .txt_box p span {
  display: block;
  margin-top: 2.29em;
}
.message02 .message02_in .txt_box p:last-of-type {
  margin-top: 2.29em;
}

/*///////////////////////////////////////////////////
//
//            ▼ 西川さんコード記入箇所 ▼
//
///////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////
//
//            ▼ 企業情報02 ▼
//
///////////////////////////////////////////////////*/
.corporate02 {
  padding: 4rem 0 7.4666666667rem;
}
.corporate02 .corporate02_in .copy h2 {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2.6666666667rem;
}
.corporate02 .corporate02_in .copy p {
  font-size: 0.9333333333rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 2.2857142857;
  color: #333333;
}
.corporate02 .corporate02_in .menu_box {
  margin-top: 5.3333333333rem;
}
.corporate02 .corporate02_in .menu_box li {
  border: solid 1px #104883;
}
.corporate02 .corporate02_in .menu_box li + li {
  margin-top: 4rem;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap {
  padding: 2rem 2.1333333333rem 2.6666666667rem;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap h3 {
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 1.3333333333rem;
  margin-bottom: 1.3333333333rem;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap h3::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 0.6666666667rem;
  height: 1px;
  background: #0066ad;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap > p {
  font-size: 0.9333333333rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  line-height: 2.2857142857;
  color: #333333;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap .btn_wrap {
  max-width: 18.6666666667rem;
  width: 100%;
  margin-top: 2rem;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap .btn_wrap .btn {
  width: 100%;
  height: 4.4rem;
  justify-content: flex-start;
  text-align: left;
  padding-left: 1.2rem;
  padding-right: 1.0666666667rem;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap .btn_wrap .btn span {
  position: relative;
  display: block;
  width: 100%;
}
.corporate02 .corporate02_in .menu_box li a .txt_wrap .btn_wrap .btn span::after {
  position: absolute;
  content: "〉";
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要01 ▼
//
///////////////////////////////////////////////////*/
.outline01 .lower_mv .ttl_box span,
.outline01 .lower_mv .ttl_box h1 {
  text-shadow: 0 3px 3px rgba(0, 0, 0, 0.7);
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要02 ▼
//
///////////////////////////////////////////////////*/
.outline h2 {
  position: relative;
  font-size: 1.7333333333rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 1.0666666667rem;
  margin-bottom: 1.3333333333rem;
}
.outline h2::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0.6666666667rem;
  height: 1px;
  background: #0066ad;
}
.outline h2.white {
  color: #fff;
}
.outline h2.white::after {
  background: #fff;
}

.outline02 {
  padding: 4rem 0 7.7333333333rem;
}
.outline02 .outline02_in ol {
  padding-top: 3.6rem;
}
.outline02 .outline02_in ol li {
  position: relative;
  font-size: 1.4rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  letter-spacing: 0.006em;
  text-align: center;
}
.outline02 .outline02_in ol li + li {
  margin-top: 6.6666666667rem;
}
.outline02 .outline02_in ol li::before {
  position: absolute;
  content: "";
  bottom: calc(100% + 0.26rem);
  left: 50%;
  transform: translateX(-50%);
  width: 4.8rem;
  height: 3.1333333333rem;
}
.outline02 .outline02_in ol li:first-of-type::before {
  background: url(../images/outline/outline02_txt01.png) center center/contain no-repeat;
  height: 3.3333333333rem;
}
.outline02 .outline02_in ol li:nth-of-type(2)::before {
  background: url(../images/outline/outline02_txt02.png) center center/contain no-repeat;
}
.outline02 .outline02_in ol li:nth-of-type(3)::before {
  background: url(../images/outline/outline02_txt03.png) center center/contain no-repeat;
}
.outline02 .outline02_in .logo {
  margin: 6.9333333333rem auto 0;
  max-width: 19.5333333333rem;
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要03 ▼
//
///////////////////////////////////////////////////*/
.outline03 {
  background: url(../images/outline/outline03_bg_sp.jpg) center center/cover no-repeat;
  padding: 4rem 0;
}
.outline03::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(35, 78, 163, 0.69);
}
.outline03 .m_container {
  max-width: unset;
  padding: 0;
}
.outline03 .outline03_in {
  position: relative;
  z-index: 2;
}
.outline03 .outline03_in ol {
  background: rgba(255, 255, 255, 0.81);
  padding: 4.9333333333rem 1.6rem 4rem 3.7333333333rem;
  margin-top: 3.2rem;
}
.outline03 .outline03_in ol li {
  font-size: 1.4rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  letter-spacing: 0.006em;
  list-style-type: decimal;
}
.outline03 .outline03_in ol li + li {
  margin-top: 1.8666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要04 ▼
//
///////////////////////////////////////////////////*/
.outline04 {
  padding: 4rem 0 2rem;
}
.outline04 .outline04_in .box .about_tb {
  width: 100%;
}
.outline04 .outline04_in .box .about_tb tr {
  display: block;
  margin-bottom: 1.4666666667rem;
}
.outline04 .outline04_in .box .about_tb tr:last-of-type {
  margin-bottom: 0;
}
.outline04 .outline04_in .box .about_tb tr th,
.outline04 .outline04_in .box .about_tb tr td {
  display: block;
  font-size: 1.0666666667rem;
  font-weight: 400;
}
.outline04 .outline04_in .box .about_tb tr th {
  text-align: center;
}
.outline04 .outline04_in .box .about_tb tr th.ls_1 {
  letter-spacing: 1em;
  text-indent: 1em;
}
.outline04 .outline04_in .box .about_tb tr td {
  border-bottom: solid 1px #e3e3e3;
  padding-bottom: 1.2rem;
}
.outline04 .outline04_in .box .about_tb tr td .address_wrap {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
.outline04 .outline04_in .box .about_tb tr td .address_wrap .zip {
  white-space: nowrap;
}
.outline04 .outline04_in .box .about_tb tr td .tel_wrap {
  display: flex;
  -moz-column-gap: 1.5em;
       column-gap: 1.5em;
}
.outline04 .outline04_in .box .about_tb tr td .tel_wrap .item_name {
  white-space: nowrap;
}
.outline04 .outline04_in .box .about_tb tr td a {
  position: relative;
  display: inline-block;
}
.outline04 .outline04_in .box .btn_wrap {
  max-width: 17.8666666667rem;
  margin: 2rem auto 0;
}
.outline04 .outline04_in .box .btn_wrap .btn {
  width: 100%;
  height: 4.4rem;
  justify-content: flex-start;
  text-align: left;
  padding-left: 1.2rem;
  padding-right: 1.0666666667rem;
}
.outline04 .outline04_in .box .btn_wrap .btn span {
  position: relative;
  display: block;
  width: 100%;
}
.outline04 .outline04_in .box .btn_wrap .btn span::after {
  position: absolute;
  content: "〉";
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要05 ▼
//
///////////////////////////////////////////////////*/
.outline05 {
  padding: 2rem 0 6rem;
}
.outline05 .outline05_in .box .outline_list {
  padding: 2rem 0.8rem 0;
}
.outline05 .outline05_in .box .outline_list .item {
  font-size: 1.0666666667rem;
}
.outline05 .outline05_in .box .outline_list .item + .item {
  margin-top: 1.0666666667rem;
}
.outline05 .outline05_in .box .outline_list .item dt,
.outline05 .outline05_in .box .outline_list .item dd {
  font-size: 1.0666666667rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

/*///////////////////////////////////////////////////
//
//            ▼ 事務所一覧02 ▼
//
///////////////////////////////////////////////////*/
.access02 {
  padding: 4rem 0 7.3333333333rem;
}
.access02 .copy {
  margin-bottom: 5.3333333333rem;
  padding: 0 1.0666666667rem;
}
.access02 .copy p {
  font-size: 1.4rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  letter-spacing: 0.006em;
}
.access02 .access02_in + .access02_in {
  margin-top: 4rem;
}
.access02 .access02_in .box .left_item h2 {
  position: relative;
  font-size: 1.7333333333rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  padding-bottom: 1.0666666667rem;
  margin-bottom: 1.7333333333rem;
}
.access02 .access02_in .box .left_item h2::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0.6666666667rem;
  height: 1px;
  background: #0066ad;
}
.access02 .access02_in .box .right_item .img_wrap {
  display: grid;
  margin: 0 -1rem 1.7333333333rem;
}
.access02 .access02_in .box .right_item .img_wrap .img01 {
  grid-column: 1/3;
  grid-row: 1/2;
}
.access02 .access02_in .box .right_item .img_wrap .img02 {
  grid-column: 1/2;
  grid-row: 2/3;
}
.access02 .access02_in .box .right_item .img_wrap .img03 {
  grid-column: 2/3;
  grid-row: 2/3;
}
.access02 .access02_in .box .right_item .access_list {
  padding: 0 0.8rem;
}
.access02 .access02_in .box .right_item .access_list li {
  border-bottom: solid 1px #dadada;
  padding: 1.7333333333rem 0.2666666667rem;
  font-size: 1.0666666667rem;
}
.access02 .access02_in .box .right_item .access_list li:first-of-type {
  border-top: solid 1px #dadada;
}
.access02 .access02_in .box .right_item .access_list li .address_wrap {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
.access02 .access02_in .box .right_item .access_list li .address_wrap .zip {
  display: block;
  white-space: nowrap;
}
.access02 .access02_in .box .right_item .access_list li .address_wrap .address {
  display: block;
}
.access02 .access02_in .box .right_item .access_list li .btn_wrap {
  max-width: 17.8666666667rem;
  margin: 2rem auto 0;
}
.access02 .access02_in .box .right_item .access_list li .btn_wrap .btn {
  width: 100%;
  height: 4.4rem;
  justify-content: flex-start;
  text-align: left;
  padding-left: 1.2rem;
  padding-right: 1.0666666667rem;
}
.access02 .access02_in .box .right_item .access_list li .btn_wrap .btn span {
  position: relative;
  display: block;
  width: 100%;
}
.access02 .access02_in .box .right_item .access_list li .btn_wrap .btn span::after {
  position: absolute;
  content: "〉";
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.access02 .access02_in .box .right_item .gmap {
  position: relative;
  margin: 1.6666666667rem -1rem 0;
  padding-bottom: 88%;
  height: 0;
  overflow: hidden;
}
.access02 .access02_in .box .right_item .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ お知らせ02 ▼
//
///////////////////////////////////////////////////*/
.news02 .box {
  margin: 4rem auto 4rem;
  padding: 0 1rem 0;
}
.news02 .box .box_in {
  border-bottom: solid 1px #cecece;
}
.news02 .box .box_in li {
  border-top: solid 1px #cecece;
}
.news02 .box .box_in li a {
  margin: 1.0333333333rem 0 1.2333333333rem;
}
.news02 .box .box_in li a time {
  font-size: 0.9333333333rem;
  color: #104883;
  display: block;
  margin: 0 0 1.0666666667rem;
}
.news02 .box .box_in li a h2 {
  font-size: 0.9333333333rem;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.28;
}
.news02 .box .pagination {
  width: 100%;
  margin: 3.6rem 0 0;
}
.news02 .box .pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
.news02 .box .pagination ul .pager {
  font-size: 1.0666666667rem;
}
.news02 .box .pagination ul .pager a,
.news02 .box .pagination ul .pager span {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  display: inline;
  color: #707070;
  padding: 0rem 0.6rem;
}
.news02 .box .pagination ul .pager a::before, .news02 .box .pagination ul .pager a::after,
.news02 .box .pagination ul .pager span::before,
.news02 .box .pagination ul .pager span::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 65%;
  background: #707070;
  top: 50%;
  transform: translateY(-50%);
}
.news02 .box .pagination ul .pager a::before,
.news02 .box .pagination ul .pager span::before {
  left: 0%;
}
.news02 .box .pagination ul .pager a::after,
.news02 .box .pagination ul .pager span::after {
  right: 0%;
}
.news02 .box .pagination ul .pager a .is_pc,
.news02 .box .pagination ul .pager span .is_pc {
  display: none;
}
.news02 .box .pagination ul .pager span {
  color: #333;
}
.news02 .box .pagination ul .pager span::before, .news02 .box .pagination ul .pager span::after {
  background: #333;
}
.news02 .box .pagination .prev,
.news02 .box .pagination .next,
.news02 .box .pagination .first,
.news02 .box .pagination .last {
  width: 2.6666666667rem;
  height: 2.6666666667rem;
  border: solid 1px #0066ad;
  color: #0066ad;
  font-size: 1rem;
}
.news02 .box .pagination .prev a,
.news02 .box .pagination .next a,
.news02 .box .pagination .first a,
.news02 .box .pagination .last a {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0066ad;
  position: relative;
}
.news02 .box .pagination .prev a::before,
.news02 .box .pagination .next a::before,
.news02 .box .pagination .first a::before,
.news02 .box .pagination .last a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.8rem;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  color: #fff;
}
.news02 .box .pagination .prev a::before {
  content: "＜";
}
.news02 .box .pagination .next a::before {
  content: "＞";
}
.news02 .box .pagination .first a,
.news02 .box .pagination .last a {
  font-size: 0.8rem;
  color: #0066ad;
  background: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ お知らせ詳細02 ▼
//
///////////////////////////////////////////////////*/
.news_detail02 .box {
  width: 100%;
  margin: 4rem auto;
}
.news_detail02 .box .ttl_wrap {
  margin: 0 0 2.1333333333rem;
}
.news_detail02 .box .ttl_wrap .date {
  color: #104883;
  font-size: 0.9333333333rem;
}
.news_detail02 .box .ttl_wrap h2 {
  font-size: 1.2rem;
}
.news_detail02 .box .pagenation {
  margin: 2.4266666667rem 0 0;
}
.news_detail02 .box .pagenation ul {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.news_detail02 .box .pagenation ul li:first-of-type a {
  color: #104883;
}
.news_detail02 .box .pagenation ul li:last-of-type a {
  color: #104883;
}

/*///////////////////////////////////////////////////
//
//            ▼ 投稿エリア ▼
//
///////////////////////////////////////////////////*/
.post_area {
  letter-spacing: 0.15rem;
}
.post_area p {
  margin: 1.5rem 0 2.6666666667rem;
  font-size: 0.9333333333rem;
}
.post_area h2 {
  font-size: 1.5rem;
  margin: 3rem 0 2rem;
}
.post_area h3 {
  font-size: 1.3rem;
  margin: 2rem 0;
}
.post_area h4 {
  font-size: 1.2rem;
  margin: 1.5rem 0;
}
.post_area h5 {
  font-size: 1.1rem;
  margin: 1rem 0;
}
.post_area h6 {
  font-size: 1rem;
  margin: 1rem 0;
}
.post_area ul {
  margin: 1rem 0 1rem 1.5rem;
}
.post_area ul.blocks-gallery-grid {
  margin: 2rem 0 0;
}
.post_area ul li {
  list-style: disc;
}
.post_area ol {
  margin: 1rem 0 1rem 1.5rem;
}
.post_area ol li {
  list-style: decimal;
}
.post_area feature {
  font-weight: bold;
}
.post_area blockquote {
  background: #eee;
  padding: 1rem;
  position: relative;
}
.post_area blockquote::before, .post_area blockquote::after {
  position: absolute;
  content: "“";
  font-size: 2rem;
}
.post_area blockquote::before {
  top: 0;
  left: 0;
}
.post_area blockquote::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
.post_area blockquote cite {
  font-size: 0.8rem;
  color: #999;
}
.post_area a {
  display: inline;
  color: #aaa;
}
.post_area img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 2rem auto 1.5rem;
}
.post_area table {
  width: 100%;
  margin: 1rem 0 1.5rem;
}
.post_area table th,
.post_area table td {
  border: solid 1px #e2e2e2;
  padding: 0.15rem 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ サイトポリシー02 ▼
//
///////////////////////////////////////////////////*/
.sitepolicy02,
.disclaimer02 {
  margin: 4rem 0;
}
.sitepolicy02 .sitepolicy02_in,
.disclaimer02 .sitepolicy02_in {
  padding: 0 1rem;
  overflow: hidden;
}
.sitepolicy02 .sitepolicy02_in .item,
.disclaimer02 .sitepolicy02_in .item {
  margin: 4.3333333333rem 0 0;
}
.sitepolicy02 .sitepolicy02_in .item:first-of-type,
.disclaimer02 .sitepolicy02_in .item:first-of-type {
  margin-top: 0;
}
.sitepolicy02 .sitepolicy02_in .item .policy_ttl,
.disclaimer02 .sitepolicy02_in .item .policy_ttl {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.71;
  color: #707070;
  border-bottom: solid 1px #707070;
  padding-bottom: 0.2rem;
}
.sitepolicy02 .sitepolicy02_in .item .policy_ttl span,
.disclaimer02 .sitepolicy02_in .item .policy_ttl span {
  color: #104883;
}
.sitepolicy02 .sitepolicy02_in .item .indent,
.disclaimer02 .sitepolicy02_in .item .indent {
  display: block;
  padding-left: 1em;
  text-indent: -0.7em;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box,
.disclaimer02 .sitepolicy02_in .item .browser_box {
  margin: 1.3333333333rem 0 0;
  overflow-x: scroll;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table,
.disclaimer02 .sitepolicy02_in .item .browser_box table {
  width: 100%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr th:nth-of-type(1),
.disclaimer02 .sitepolicy02_in .item .browser_box table tr th:nth-of-type(1) {
  width: 10%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr th:nth-of-type(2),
.disclaimer02 .sitepolicy02_in .item .browser_box table tr th:nth-of-type(2) {
  width: 20%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr th:nth-of-type(3),
.disclaimer02 .sitepolicy02_in .item .browser_box table tr th:nth-of-type(3) {
  width: 70%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr td:nth-of-type(1),
.disclaimer02 .sitepolicy02_in .item .browser_box table tr td:nth-of-type(1) {
  width: 10%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr td:nth-of-type(2),
.disclaimer02 .sitepolicy02_in .item .browser_box table tr td:nth-of-type(2) {
  width: 20%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr td:nth-of-type(3),
.disclaimer02 .sitepolicy02_in .item .browser_box table tr td:nth-of-type(3) {
  width: 70%;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr th,
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr td,
.disclaimer02 .sitepolicy02_in .item .browser_box table tr th,
.disclaimer02 .sitepolicy02_in .item .browser_box table tr td {
  font-size: 0.9333333333rem;
  white-space: nowrap;
  padding: 0.8rem;
  text-align: start;
  border: solid 1px #707070;
  color: #333333;
}
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr th:first-of-type,
.sitepolicy02 .sitepolicy02_in .item .browser_box table tr td:first-of-type,
.disclaimer02 .sitepolicy02_in .item .browser_box table tr th:first-of-type,
.disclaimer02 .sitepolicy02_in .item .browser_box table tr td:first-of-type {
  font-weight: bold;
}
.sitepolicy02 .sitepolicy02_in .item .txt.right,
.disclaimer02 .sitepolicy02_in .item .txt.right {
  text-align: right;
}
.sitepolicy02 .sitepolicy02_in .item .txt,
.sitepolicy02 .sitepolicy02_in .item ul,
.disclaimer02 .sitepolicy02_in .item .txt,
.disclaimer02 .sitepolicy02_in .item ul {
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #333333;
  margin: 1.2rem 0 0;
}
.sitepolicy02 .sitepolicy02_in .item ul li,
.disclaimer02 .sitepolicy02_in .item ul li {
  margin: 2.6666666667rem 0 0;
}
.sitepolicy02 .sitepolicy02_in .item ul li span,
.disclaimer02 .sitepolicy02_in .item ul li span {
  display: block;
  margin: 1.3333333333rem 0 0;
}
.sitepolicy02 .sitepolicy02_in .item ul li:first-of-type,
.disclaimer02 .sitepolicy02_in .item ul li:first-of-type {
  margin-top: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー ▼
//
///////////////////////////////////////////////////*/
.privacypolicy02 {
  margin: 4rem 0;
}
.privacypolicy02 .privacypolicy02_in {
  padding: 0 1rem;
}
.privacypolicy02 .privacypolicy02_in .txt {
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
  margin: 1.2rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .txt.right {
  text-align: right;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box {
  margin: 5.3333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box:first-of-type {
  margin-top: 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .proclamation .txt:first-of-type {
  margin: 2.4rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .proclamation .txt:nth-of-type(2) {
  margin-top: 0.5333333333rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .proclamation .txt:nth-of-type(3) {
  margin-top: 1.3333333333rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .proclamation .txt.indent {
  text-indent: 1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl,
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl02,
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl03 {
  font-weight: 400;
  line-height: 1.71;
  color: #707070;
  border-bottom: solid 1px #707070;
  padding-bottom: 0.2rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl span,
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl02 span,
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl03 span {
  color: #104883;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl {
  font-size: 1.4rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl02 {
  font-size: 1.4666666667rem;
  color: #104883;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box .policy_ttl03 {
  font-size: 1.2rem;
  padding-left: 0.8em;
  text-indent: -0.8em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item {
  margin: 2.6666666667rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item table {
  margin: 1.3333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item table tr th,
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item table tr td {
  width: 50%;
  font-size: 0.8rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
  border-collapse: collapse;
  border: solid 1px #707070;
  padding: 0.8rem 0.5333333333rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item table tr td {
  line-height: 1.71;
  vertical-align: baseline;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item table tr td ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item table + .txt .indent {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .round_number_list li {
  margin: 1.3333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .round_number_list li .txt.indent {
  padding-left: 1em;
  text-indent: -1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .round_number_list li:nth-of-type(2) .txt {
  margin-top: 0.6666666667rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .round_number_list li:nth-of-type(2) .txt a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: #104883;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .round_number_list li:nth-of-type(2) .txt:nth-of-type(3) {
  margin-top: 0.9333333333rem;
  padding-left: 1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li {
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
  padding-left: 1em;
  text-indent: -1em;
  margin: 1.3333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol {
  padding-left: 1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li {
  margin-top: 1.3333333333rem;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li.indent {
  padding-left: 1em;
  text-indent: -1em;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li .border {
  border-top: solid 1px #707070;
  border-bottom: solid 1px #707070;
  padding: 0.9333333333rem 0;
  text-indent: 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li ul {
  margin: 0.9333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li ul li {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li .bracket_kana_list li {
  margin: 0.9333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ol li .bracket_kana_list li ul li {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li .border {
  border-top: solid 1px #707070;
  border-bottom: solid 1px #707070;
  padding: 0.9333333333rem 0;
  margin-top: 1.3333333333rem;
  text-indent: 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ul {
  margin: 1.3333333333rem 0 0;
}
.privacypolicy02 .privacypolicy02_in .privacypolicy02_box ol .item .bracket_number_list li ul li {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 環境経営方針02 ▼
//
///////////////////////////////////////////////////*/
.enviropolicy02 .box {
  margin: 3.9333333333rem 0 7.5rem;
  padding: 1rem 1rem 2.6666666667rem;
  box-shadow: 0 0 4px rgba(43, 43, 43, 0.24);
}
.enviropolicy02 .box figure {
  margin: 0 auto;
  width: 21.666667rem;
}
.enviropolicy02 .box figure + figure {
  margin-top: 2.6666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ ▼
//            ▼ 確認ページ ▼
//            ▼ 完了ページ ▼
//
///////////////////////////////////////////////////*/
.contact02 {
  padding: 4rem 0;
}
.contact02 .heading_box {
  padding: 0 1rem;
}
.contact02 .heading_box .txt {
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
}
.contact02 .heading_box .step_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.0666666667rem;
  margin: 2rem 0 0;
}
.contact02 .heading_box .step_box .step_item {
  width: 100%;
  max-width: 6.6666666667rem;
  min-width: 80px;
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  background: #c1c1c1;
  padding: 1.3333333333rem;
}
.contact02 .heading_box .step_box .step_item.current {
  background: #104883;
}
.contact02 .form_box {
  padding: 0 1rem;
  margin: 4rem 0 0;
}
.contact02 .form_box .item {
  margin: 1.6666666667rem 0 0;
}
.contact02 .form_box .item .inner:first-of-type label {
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
}
.contact02 .form_box .item .inner:first-of-type label .required {
  text-align: center;
  line-height: 1;
  color: #fff;
  background: #0066ad;
  padding: 0.0666666667rem 0.9333333333rem 0.1333333333rem;
  margin-left: 0.9333333333rem;
}
.contact02 .form_box .item .inner:last-of-type {
  width: 100%;
  max-width: 43.3333333333rem;
  margin: 0.8rem 0 0;
}
.contact02 .form_box .item .inner:last-of-type input,
.contact02 .form_box .item .inner:last-of-type textarea {
  width: 100%;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
  border: solid 1px #707070;
  padding: 1.3333333333rem 0.9333333333rem;
}
.contact02 .form_box .item .inner:last-of-type textarea {
  min-height: 12.6666666667rem;
}
.contact02 .form_box .item:first-of-type {
  margin-top: 0;
}
.contact02 .form_box .item.address .address_input {
  margin: 0.8rem 0 0;
}
.contact02 .form_box .item.address .address_input .inner:first-of-type {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.contact02 .form_box .item.address .address_input .inner:first-of-type input {
  max-width: 6.5333333333rem;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
  border: solid 1px #707070;
  padding: 1.3333333333rem;
}
.contact02 .form_box .item.address .address_input .inner:first-of-type a {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #707070;
}
.contact02 .form_box .item.address .address_input .inner:last-of-type {
  width: 100%;
  margin-top: 2rem;
}
.contact02 .form_box .item.address .address_input .inner p {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.contact02 .form_box .item.address .address_input .inner button {
  background: none;
  border: none;
  color: #707070;
  font-size: 1.0666666667rem;
}
.contact02 .form_box .acceptance {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  color: #707070;
  margin: 2rem auto 0;
}
.contact02 .form_box .acceptance .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.contact02 .form_box .acceptance .inner .inner_in {
  width: 0.9333333333rem;
  height: 0.9333333333rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact02 .form_box .acceptance .inner .inner_in p {
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact02 .form_box .acceptance .inner .inner_in p span {
  margin: 0;
}
.contact02 .form_box .acceptance .inner label {
  padding-left: 0.4rem;
  cursor: pointer;
}
.contact02 .form_box .acceptance .privacy_policy_link a {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #707070;
  position: relative;
  transition: 0.3s;
}
.contact02 .form_box .acceptance .privacy_policy_link a::before {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #707070;
}
.contact02 .form_box .contact_button {
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
}
.contact02 .form_box .contact_button .btn {
  width: 15.4666666667rem;
  height: 4.0666666667rem;
  border: none;
  background: #989898;
}
.contact02 .form_box .contact_button .btn span {
  font-size: 1.0666666667rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.contact02 .form_box .contact_button .btn.back {
  background: #fff;
  border: solid 1px #989898;
  margin: 0 0 2rem;
}
.contact02 .form_box .contact_button .btn.back span {
  color: #989898;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ完了ページ ▼
//
///////////////////////////////////////////////////*/
.thanks02 .thanks02_box {
  padding: 0 1rem;
  margin: 4rem 0 0;
  text-align: center;
}
.thanks02 .thanks02_box h2 {
  font-size: 1.7333333333rem;
  font-weight: 400;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #707070;
}
.thanks02 .thanks02_box p {
  font-size: 0.9333333333rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  color: #707070;
  margin: 2rem 0 0;
}
.thanks02 .thanks02_box .contact_button {
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
}
.thanks02 .thanks02_box .contact_button .btn {
  width: 15.4666666667rem;
  height: 4.0666666667rem;
  background: #104883;
}
.thanks02 .thanks02_box .contact_button .btn span {
  font-size: 1.0666666667rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ（Contactform7） ▼
//
///////////////////////////////////////////////////*/
.wpcf7 {
  position: relative;
}
.wpcf7 span.wpcf7-not-valid-tip {
  position: absolute;
  bottom: -20px;
  left: 10px;
  font-size: 12px;
}
.wpcf7 .your_msg span.wpcf7-not-valid-tip {
  bottom: -15px;
}
.wpcf7 div.wpcf7-response-output {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: #f00;
  font-size: 12px;
  white-space: nowrap;
}

.ajax-loader {
  position: absolute;
  top: 50%;
  left: 110%;
  transform: translate(-50%, -50%);
}

/*///////////////////////////////////////////////////
//
//            ▼ 404 ▼
//
///////////////////////////////////////////////////*/
.page404 {
  background: url(../images/404/bg_sp.jpg) center center/cover no-repeat;
}
.page404 .catch_copy {
  height: 100vh;
  min-height: 650px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page404 .catch_copy .ttl {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 検索フォーム ▼
//
///////////////////////////////////////////////////*/
.search {
  width: 100%;
  border: 1px solid #ddd;
}
.search form .search_inner {
  display: flex;
  justify-content: space-between;
  height: 3rem;
  align-items: center;
}
.search form .search_inner .input {
  width: calc(100% - 3rem);
  height: 100%;
}
.search form .search_inner .input input {
  border: none;
  padding: 0 1rem;
  width: 100%;
  height: 100%;
  font-size: 16px;
}
.search form .search_inner .submit {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 3rem;
  height: 3rem;
  color: #000;
}
.search form .search_inner .submit span {
  font-size: 1.2rem;
}

.post_none {
  text-align: center;
}

@media screen and (orientation: portrait) {
  /* 縦向き */
}
@media screen and (orientation: landscape) {
  /* 横向き */
}
/*追加20240320*/
.member_navi {
  border-bottom: solid 7px #104883;
}
.member_navi_list {
  margin: 0 auto;
  max-width: 1170px;
  width: 100%;
  display: flex;
  gap: 0 3px;
}
.member_navi_list li {
  padding: 19px 10px;
  background: #9E9E9E;
  color: #fff;
  text-align: center;
  line-height: 1.2;
}
.member_navi_list li.current {
  background: #104883;
}
.member_navi_list li:has(a) {
  padding: 0;
}
.member_navi_list li:has(a) a {
  padding: 19px 10px;
  color: #fff;
}
.member_navi_list li span {
  display: none;
}
.member_content .wpcf7 div.wpcf7-response-output {
  bottom: auto;
}
.member_content .form-box {
  max-width: 970px;
  width: 100%;
  margin: 3.6rem auto 0;
}
.member_content .form-box .item {
  display: block;
  margin: 2.4rem 0 0;
}
.member_content .form-box .item .inner-title {
  width: 280px;
  margin-bottom: 0.5rem;
}
.member_content .form-box .item .inner-title p {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.member_content .form-box .item .inner-title p:has(label) {
  display: block;
}
.member_content .form-box .item .inner-title label {
  font-size: 1.0666666667rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1;
  color: #707070;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.member_content .form-box .item .inner-title .required {
  text-align: center;
  color: #fff;
  background: #0066ad;
  padding: 0.3333333333rem 0.9333333333rem 0.4rem;
  margin-left: 1.6666666667rem;
  font-size: 0.9333333333rem;
  line-height: 1;
  color: #fff;
  border-radius: 0.125rem;
  margin-left: 1rem;
  margin-right: 2rem;
}
.member_content .form-box .item .inner-content {
  width: 100%;
}
.member_content .form-box .item .inner-content.harf-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 50px;
  align-items: end;
}
.member_content .form-box .item .inner-content .inner-harf {
  width: calc((100% - 50px) / 2);
}
.member_content .form-box .item .inner-content .inner-harf2 {
  width: 150px;
}
.member_content .form-box .item .inner-content .inner-harf {
  width: 300px;
}
.member_content .form-box .item .inner-content.date-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 5px;
  justify-content: flex-start;
}
.member_content .form-box .item .inner-content .inner-date {
  width: 100%;
  margin-bottom: 5px;
}
.member_content .form-box .item .inner-content .inner-time {
  width: 48%;
}
.member_content .form-box .item input {
  color: #000;
}
.member_content .form-box .item input,
.member_content .form-box .item textarea,
.member_content .form-box .item select {
  width: 100%;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.5;
  border: solid 1px #707070;
  padding: 1.2rem;
}
.member_content .form-box .item select {
  width: calc(100% - 1.5em);
  vertical-align: bottom;
}
.member_content .form-box .item select.member-select {
  width: 100px;
}
.member_content .form-box .item textarea {
  color: #707070;
  min-height: 17.6666666667rem;
}
.member_content .form-box .item:first-of-type {
  margin-top: 0;
}
.member_content .form-box .item.msg {
  align-items: flex-start;
}
.member_content .form-box .item.msg .inner label {
  margin: 1.2rem 0 0;
}
.member_content .form-box .member_box {
  border: solid 1px #000;
  padding: 1rem;
  margin-top: 2rem;
}
.member_content .form-box .item2 {
  display: block;
  margin: 0 0 1rem;
}
.member_content .form-box .item2 .inner-title {
  width: 200px;
}
.member_content .form-box .item2 .inner-title label {
  font-size: 1.0666666667rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1;
  color: #707070;
  margin-bottom: 0;
}
.member_content .form-box .item2 .inner-title .required {
  text-align: center;
  color: #fff;
  background: #0066ad;
  padding: 0.3333333333rem 0.9333333333rem 0.4rem;
  margin-left: 1.6666666667rem;
  font-size: 0.9333333333rem;
  line-height: 1;
  color: #fff;
  border-radius: 0.125rem;
  margin-left: 1.75rem;
}
.member_content .form-box .item2 .inner-content {
  width: 100%;
}
.member_content .form-box .item2 .inner-content.harf-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}
.member_content .form-box .item2 .inner-content .inner-harf {
  width: calc((100% - 20px) / 2);
}
.member_content .form-box .msg .inner p label {
  display: block;
  padding: 0.4rem 0 0;
}
.member_content .form-box .contact_button p {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2.9333333333rem auto 0;
}
.member_content .form-box .contact_button .btn {
  width: 15.4666666667rem;
  height: 4.0666666667rem;
  border: none;
  background: #989898;
  cursor: pointer;
}
.member_content .form-box .contact_button .btn::before {
  background: #104883;
}
.member_content .form-box .contact_button .btn span {
  font-size: 1.0666666667rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.member_content .form-box .contact_button .btn:hover span {
  color: #fff;
}
.member_content .form-box .contact_button .btn.back {
  background: #fff;
  border: solid 1px #989898;
  margin-right: 2.2666666667rem;
}
.member_content .form-box .contact_button .btn.back::before {
  background: #989898;
}
.member_content .form-box .contact_button .btn.back span {
  color: #989898;
}
.member_content .form-box .contact_button .btn.back:hover span {
  color: #fff;
}
.member_content .member-info-content > * {
  margin: 1rem 0;
}
.member_content > * {
  margin: 2rem 0;
}
.member_content a {
  display: inline-block;
}
.member_content .wp-block-file__button {
  width: auto;
}
.member_content h1 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.05em;
  line-height: 1.83;
}
.member_content .wp-block-buttons > .wp-block-button.is-style-btn-link {
  display: block;
  width: 100%;
}
.member_content .is-style-btn-link .wp-block-button__link {
  box-sizing: border-box;
  background: #fff;
  border: solid 1px #000;
  color: #000;
  border-radius: 0;
  padding: 0 3rem 0 2rem;
  height: 60px;
  max-width: 400px;
  width: 100%;
  font-size: 14px;
  line-height: 60px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  background: url("../images/member/link-icon.png") no-repeat center right 1rem/26px auto;
}
.member_content .wp-block-file.is-style-file-pdf a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3.2rem 0 55px;
  height: 60px;
  max-width: 400px;
  width: 100%;
  font-size: 14px;
  line-height: 60px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1rem/26px auto;
  text-decoration: none;
}
.member_content .wp-block-file.is-style-file-pdf a::before {
  content: "PDF";
  position: absolute;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-pdf.svg") no-repeat top 10px center/22px auto;
}
.member_content .wp-block-file.is-style-file-excel a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3.2rem 0 55px;
  height: 60px;
  max-width: 400px;
  width: 100%;
  font-size: 14px;
  line-height: 60px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1rem/26px auto;
  text-decoration: none;
}
.member_content .wp-block-file.is-style-file-excel a::before {
  content: "エクセル";
  position: absolute;
  letter-spacing: -0.05em;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-xls.svg") no-repeat top 10px center/22px auto;
}
.member_content .wp-block-file.is-style-file-word a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3.2rem 0 55px;
  height: 60px;
  max-width: 400px;
  width: 100%;
  font-size: 14px;
  line-height: 60px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1rem/26px auto;
  text-decoration: none;
}
.member_content .wp-block-file.is-style-file-word a::before {
  content: "ワード";
  position: absolute;
  letter-spacing: -0.05em;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-word.svg") no-repeat top 10px center/22px auto;
}
.member_content .wp-block-file.is-style-file-other a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3.2rem 0 55px;
  height: 60px;
  max-width: 400px;
  width: 100%;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 60px;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1rem/26px auto;
  text-decoration: none;
}
.member_content .wp-block-file.is-style-file-other a::before {
  content: "ファイル";
  position: absolute;
  letter-spacing: -0.05em;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-file.svg") no-repeat top 10px center/22px auto;
}
.member_content .member-info-box {
  border: solid 1px #C1C1C1;
  padding: 2rem;
  max-width: 1100px;
  margin: 0 auto 1.5rem;
  display: block;
  padding: 1rem;
}
.member_content .member-info-date {
  color: #9F9090;
  font-size: 1.2rem;
  margin-top: 5px;
  text-align: left;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.member_content .member-info-title {
  font-size: 1.6rem;
  grid-area: title;
}
.member_content .member-info-content {
  grid-area: content;
}
.member_content .document-wrap {
  border: solid 1px #104883;
  padding: 10px;
}
.member_content .document-title-box {
  padding: 10px 40px 20px 0px;
  position: relative;
  cursor: pointer;
}
.member_content .document-title-box::before, .member_content .document-title-box::after {
  content: "";
  width: 30px;
  height: 5px;
  background: #104883;
  position: absolute;
  top: 50%;
  right: 0px;
}
.member_content .document-title-box::after {
  transform: rotate(90deg);
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.member_content .document-title-box.open::after {
  transform: rotate(0);
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.member_content .document-content-box {
  padding: 20px 0;
  border-top: solid 1px #104883;
  display: none;
}
.member_content .document-links {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 55px;
  margin-top: 2rem;
}
.member_content .document-links li {
  width: 100%;
}
.member_content .document-links .icon-link a {
  box-sizing: border-box;
  background: #fff;
  border: solid 1px #000;
  color: #000;
  border-radius: 0;
  padding: 0 3.2rem 0 55px;
  height: 60px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px;
  line-height: 60px;
  text-align: left;
  background: url("../images/member/link-icon.png") no-repeat center right 1rem/26px auto;
}
.member_content .document-links .icon-pdf a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3rem 0 60px;
  height: 60px;
  width: 100%;
  font-size: 16px;
  line-height: 60px;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1.5rem/26px auto;
  text-decoration: none;
}
.member_content .document-links .icon-pdf a::before {
  content: "PDF";
  position: absolute;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-pdf.svg") no-repeat top 10px center/24px auto;
}
.member_content .document-links .icon-excel a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3rem 0 60px;
  height: 60px;
  width: 100%;
  font-size: 16px;
  line-height: 60px;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1.5rem/26px auto;
  text-decoration: none;
}
.member_content .document-links .icon-excel a::before {
  content: "エクセル";
  position: absolute;
  letter-spacing: -0.05em;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-xls.svg") no-repeat top 10px center/24px auto;
}
.member_content .document-links .icon-word a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3rem 0 60px;
  height: 60px;
  width: 100%;
  font-size: 16px;
  line-height: 60px;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1.5rem/26px auto;
  text-decoration: none;
}
.member_content .document-links .icon-word a::before {
  content: "ワード";
  position: absolute;
  letter-spacing: -0.05em;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-word.svg") no-repeat top 10px center/24px auto;
}
.member_content .document-links .icon-other a {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  box-sizing: border-box;
  border-radius: 0;
  padding: 0 3rem 0 60px;
  height: 60px;
  width: 100%;
  font-size: 16px;
  line-height: 60px;
  text-align: left;
  position: relative;
  background: url("../images/member/icon-download.png") no-repeat center right 1.5rem/26px auto;
  text-decoration: none;
}
.member_content .document-links .icon-other a::before {
  content: "その他";
  position: absolute;
  letter-spacing: -0.05em;
  left: 0.5rem;
  top: 0;
  display: inline-block;
  padding: 40px 0 0 0;
  left: 0.5rem;
  font-size: 10px;
  width: 38px;
  text-align: center;
  line-height: 1;
  background: url("../images/member/icon-file.svg") no-repeat top 10px center/24px auto;
}

.member03 {
  padding: 5.875rem 0 25rem;
}

.login-form {
  background: #EDEDED;
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto 60px;
}
.login-form .wp-block-heading {
  text-align: center;
  margin-bottom: 1rem;
}
.login-form .form-wrap {
  max-width: 550px;
  margin: 0 auto;
}
.login-form .form-group {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.login-form .form-group label {
  width: 120px;
}
.login-form .form-group input {
  max-width: 400px;
  width: 100%;
  padding: 0.75rem;
  border: solid 1px #000;
  background: #fff;
}
.login-form .form-btn {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 300px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0066ad;
  transition: ease 0.6s;
  margin: 0 auto;
  color: #fff;
  border: none;
}
.login-form .form-btn::after {
  content: "＞";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.form-hidden {
  display: none;
}/*# sourceMappingURL=smart.css.map */