@charset "UTF-8";
/*==========================================
  Common
==========================================*/
/*==================================*/
/* base
==================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
  display: block;
}

/* font
==================================*/
input,
textarea,
select,
i,
.wp-element-button {
  font-style: normal;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", "MS P Gothic", san-serif !important;
  font-weight: 500;
}

body {
  color: #333333;
  background-color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", "MS P Gothic", san-serif !important;
  font-weight: 500;
  letter-spacing: 0.02em;
}

body {
  font-size: 18px;
  line-height: 30px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
li,
p,
dt,
dd,
th,
td,
table th,
table td {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", "MS P Gothic", san-serif !important;
  font-weight: 500;
}

ol,
ul {
  list-style: none;
  list-style-type: none !important;
}

a {
  outline: none;
}

#masthead {
  display: none;
}

#main {
  padding: 0;
}

* {
  background-color: initial;
  box-shadow: initial;
}

body {
  background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ul,
li,
ol,
dl,
dd,
tr,
span {
  font-size: 18px;
  line-height: 30px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
}

a {
  color: #333333;
  text-decoration: none;
  transition: 0.3s;
}
a:visited {
  color: #333333;
}
a:hover {
  color: #333333;
  text-decoration: none;
}
a:active {
  color: #333333;
}
a:hover {
  outline: none;
}

a:focus,
*:focus {
  outline: none !important;
}

body {
  background-color: #fff;
}
body table th,
body table td {
  border: initial;
  padding: initial;
  vertical-align: middle;
}

.spsm {
  display: none;
}

.spmd {
  display: none;
}

.spmlg {
  display: none;
}

.spmlg02 {
  display: none;
}

@media (max-width: 375px) {
  .spsm {
    display: block;
  }
}
@media (max-width: 900px) {
  .spmd {
    display: block;
  }
}
@media (max-width: 1210px) {
  .spmlg {
    display: block;
  }
}
@media (max-width: 1350px) {
  .spmlg02 {
    display: block;
  }
}
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
footer {
  opacity: 0;
  transform: translateY(50px);
  /* 下から浮かび上がる */
  transition: opacity 1s ease-out, transform 1s ease-out;
}

footer.visible {
  opacity: 1;
  transform: translateY(0);
  /* 元の位置に戻る */
}

.sp {
  display: none !important;
}

body {
  background: #fff;
  position: relative;
}

[id^=anc] {
  display: block;
  height: 0;
  pointer-events: none;
  padding-top: 5.2083vw;
  margin-top: -5.2083vw;
}

/* header
==================================*/
main {
  margin-top: 5.2083vw;
}

@media (min-width: 1351px) {
  header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 500;
  }
  header .Wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 50px;
    height: 5.2083vw;
  }
  header .logo {
    font-size: 0.1px;
    line-height: 0.1px;
  }
  header .logo a {
    display: flex;
    align-items: center;
    max-width: 387.98px;
    width: 20.2vw;
    height: 100%;
  }
  header .logo a img {
    width: 100%;
    height: auto;
  }
  header .globalMenu {
    display: flex;
    align-items: center;
  }
  header .globalMenu ul {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    height: 66px;
  }
  header .globalMenu ul a {
    font-size: 20px;
    font-size: clamp(16px, 1.0416vw, 20px);
    margin: 0 34px;
    white-space: nowrap;
    display: block;
    transition: 0.3s;
    margin: 0 14px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif !important;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
  }
  header .globalMenu ul a:hover {
    color: #007EA7;
  }
  header .c_Btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10.416vw;
    max-width: 200px;
    height: 45px;
    background: #007EA7;
    border-radius: 30px;
    position: relative;
    margin: 0 0 0 20px;
    font-weight: bold;
    color: #fff;
    font-weight: 500;
    font-family: "Noto Serif JP", serif !important;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: clamp(16px, 1.0416vw, 20px);
  }
  header .c_Btn a::before {
    content: "";
    background: url(../images/common/icon_mail_b.svg) no-repeat center 50%;
    background-size: 20px auto;
    display: block;
    width: 20px;
    height: 16px;
    margin-right: 5px;
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(104%);
  }
  header .c_Btn a:hover {
    background: #4DA5C2 !important;
    color: #fff;
  }
  header .c_Btn a:hover::before {
    filter: invert(93%) sepia(100%) saturate(0%) hue-rotate(192deg) brightness(105%) contrast(103%);
  }
}
@media (max-width: 1350.9px) {
  header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 500;
  }
  header .Wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 50px;
    height: 5.2083vw;
  }
  header::before {
    content: "";
    background: #fff;
    opacity: 0.9;
    width: 100%;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    position: absolute;
  }
  header .logo {
    position: relative;
    z-index: 50;
    width: 240px;
  }
  header .logo a {
    display: flex;
    align-items: center;
  }
  header .logo img {
    width: 100%;
    height: auto;
  }
  header .Wrap {
    margin: 0 15px;
    padding: 0;
    display: flex;
    align-items: center;
    height: 63px;
    position: relative;
    justify-content: space-between;
  }
  header .nav_logo {
    margin-top: 56px;
    text-align: center;
    display: block !important;
  }
  header .nav_area {
    display: flex;
    flex-direction: column;
    /* 縦に配置 */
    background: url(../images/common/nav_figure.png) no-repeat right bottom #007EA7;
    background-size: 240px auto;
    opacity: 0;
    overflow: hidden;
    height: 100vh;
    transform: translateY(-20%);
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: -160px;
    z-index: -5;
    transition: 0.3s;
    padding: 60px 15px 30px;
    height: 0;
  }
  header .nav_area ul {
    margin-bottom: 45px;
  }
  header .nav_area ul a {
    display: block;
    padding: 20px 15px;
    font-size: 20px;
    font-weight: 700;
    position: relative;
    text-align: center;
    font-weight: 500;
    font-family: "Noto Serif JP", serif !important;
    font-optical-sizing: auto;
    font-style: normal;
    color: #fff;
  }
  header .nav_area ul a:hover {
    text-decoration: underline;
  }
  header .nav_area .c_Btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 45px;
    background: #fff;
    border-radius: 30px;
    position: relative;
    margin: 0 auto;
    font-weight: bold;
    color: #007EA7;
    font-weight: 600;
    font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
    font-weight: bold;
    transition: 0.3s;
    font-size: 20px;
  }
  header .nav_area .c_Btn a::before {
    content: "";
    background: url(../images/common/icon_mail_b.svg) no-repeat center 50%;
    background-size: 20px auto;
    display: block;
    width: 20px;
    height: 16px;
    margin-right: 5px;
    filter: invert(28%) sepia(81%) saturate(1955%) hue-rotate(172deg) brightness(92%) contrast(101%);
  }
  header .nav_area .c_Btn a:hover {
    background: #4DA5C2 !important;
    color: #fff;
  }
  header .nav_area .c_Btn a:hover::before {
    filter: invert(93%) sepia(100%) saturate(0%) hue-rotate(192deg) brightness(105%) contrast(103%);
  }
  .hamburger {
    width: 30px;
    height: 35px;
    border-radius: 50%;
    position: absolute;
    top: 13px;
    right: 0;
    z-index: 8888;
    transition: 0.3s;
    display: block !important;
  }
  .hamburger span {
    width: 25px;
    height: 2px;
    display: block;
    background: #007EA7;
    border-radius: 10px;
    position: absolute;
    transition: 0.3s ease-in-out;
    left: 50%;
    margin-left: -12.5px;
    z-index: 8888;
  }
  .hamburger span.b01 {
    top: 14px;
  }
  .hamburger span.b03 {
    top: 23px;
  }
  .hamburger.active {
    right: 20px;
  }
  .hamburger.active span.b01 {
    top: 24px;
    background: #fff;
    transform: rotate(-45deg);
    height: 2px;
  }
  .hamburger.active span.b02,
  .hamburger.active span.b03 {
    height: 2px;
    top: 24px;
    background: #fff;
    transform: rotate(45deg);
  }
  .panelactive .nav_area {
    opacity: 1;
    transform: translateY(0);
    position: fixed;
    top: 0;
    left: 0%;
    bottom: 0;
    right: 0;
    z-index: 7777;
    height: 100vh;
    overflow-y: scroll;
    padding: 60px 15px 30px;
    box-sizing: border-box;
    width: 100%;
  }
  body.panelactive {
    width: 100%;
    height: 100%;
    position: fixed;
  }
}
/* main
==================================*/
/* 左からフェードインの基本スタイル */
.fade-in-element {
  opacity: 0;
  /* 初期状態は透明 */
  transform: translateY(30px);
  /* 左に30px移動 */
  transition: opacity 1s ease-out, transform 1s ease-out;
  /* フェードインの遷移効果 */
}

/* フェードイン後の状態 */
.fade-in-element.visible {
  opacity: 1;
  /* 完全に表示 */
  transform: translateY(0);
  /* 元の位置に移動 */
}

.k_Main_area {
  background: url(../images/knowledge/main_bg.jpg) no-repeat center 50%;
  background-size: cover;
  width: 100%;
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 50px;
}
.k_Main_area .inner {
  width: 100%;
}
.k_Main_area .Title {
  text-align: center;
  color: #fff;
  font-size: 50px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  text-shadow: 0px 3px 10px rgba(0, 0, 0, 0.8);
}

.Title_sub {
  color: #007EA7;
  text-align: center;
  margin-bottom: 50px;
  font-size: 30px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}

@keyframes fadeIn02 {
  from {
    opacity: 0.2;
    /* フェードイン前の透明度 */
  }
  to {
    opacity: 1;
    /* フェードイン後の透明度 */
  }
}
.tl_border {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}
.tl_border::before {
  content: "";
  width: 10px;
  height: 37px;
  border-radius: 6px;
  background: #007EA7;
  margin-right: 10px;
}

.tl_border02 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 32px;
  padding-bottom: 15px;
  border-bottom: solid 1px #707070;
}

.tl_dot {
  position: relative;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
}
.tl_dot::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #007EA7;
  position: relative;
  top: 11px;
}
.tl_dot span {
  font-size: 20px;
  margin-left: 5px;
}

.c_Btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 321px;
  height: 69px;
  background: #007EA7;
  border-radius: 70px;
  position: relative;
  font-weight: bold;
  color: #fff;
  font-weight: 700;
  margin-top: 20px;
  font-size: 20px;
  transition: 0.3s;
}
.c_Btn a::before {
  content: "";
  background: url(../images/common/icon_mail_b.svg) no-repeat center 50%;
  background-size: 30px auto;
  display: block;
  width: 30px;
  height: 24px;
  margin-right: 10px;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(104%);
}
.c_Btn a:hover {
  color: #007EA7;
  background: #fff;
}
.c_Btn a:hover::before {
  filter: invert(24%) sepia(91%) saturate(2073%) hue-rotate(174deg) brightness(101%) contrast(101%);
}

.Btn a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  width: 250px;
  height: 69px;
  margin: 0 auto;
  font-weight: 400;
  transition: 0.3s;
  border: solid 2px #007EA7;
  border-radius: 60px;
  background: #fff;
  color: #007EA7;
  font-weight: 500;
  padding: 0 25px;
}
.Btn a::after {
  content: "";
  background: url(../images/common/icon_yajirushi.svg) no-repeat 90% 50%;
  background-size: 20px auto;
  width: 20px;
  height: 16px;
  display: block;
  filter: invert(27%) sepia(52%) saturate(5721%) hue-rotate(178deg) brightness(95%) contrast(101%);
}
.Btn a:hover {
  background: #007EA7;
  color: #fff;
}
.Btn a:hover::after {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(305deg) brightness(105%) contrast(102%);
}

.Wrap {
  margin: 0 auto;
  box-sizing: content-box;
  padding-left: 50px;
  padding-right: 50px;
}

.bg_blue {
  background: #F2F8FB;
  padding: 100px 0;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

/* footer
==================================*/
.Contact_area {
  background: url(../images/common/bg_contact.jpg) no-repeat center 0;
  background-size: cover;
  padding: 114px 0 100px;
  margin-top: 100px;
}
.Contact_area .Title {
  text-align: center;
}
.Contact_area .Title small {
  font-size: 26px;
  color: #fff;
  text-align: center;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  display: block;
  margin-top: 34px;
}
.Contact_area .txt {
  color: #fff;
  text-align: center;
  margin-top: 34px;
  margin-bottom: 44px;
}
.Contact_area .contact_btn_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1053px;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
}
.Contact_area .contact_btn_area li {
  width: 49%;
}
.Contact_area .contact_btn_area a {
  background: #317EA6;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 205px;
  border-radius: 20px;
  color: #fff;
  font-size: 30px;
  font-weight: 500;
  position: relative;
  padding-bottom: 44px;
}
.Contact_area .contact_btn_area a::after {
  content: "";
  background: url(../images/common/icon_mail_b.svg) no-repeat center 50%;
  background-size: 50px auto;
  width: 50px;
  height: 40px;
  position: absolute;
  bottom: 50px;
  left: 50%;
  margin-left: -25px;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(45deg) brightness(103%) contrast(102%);
}
.Contact_area .contact_btn_area a:hover {
  background: #fff;
  color: #007EA7;
}
.Contact_area .contact_btn_area a:hover::after {
  filter: invert(35%) sepia(16%) saturate(5891%) hue-rotate(166deg) brightness(95%) contrast(100%);
}
.Contact_area .contact_btn_area li.dl a::after {
  content: "";
  background: url(../images/common/icon_dl.svg) no-repeat center 50%;
  background-size: 42px auto;
  width: 42px;
  height: 42px;
  position: absolute;
  bottom: 50px;
  left: 50%;
  margin-left: -21px;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(45deg) brightness(103%) contrast(102%);
}
.Contact_area .contact_btn_area li.dl a:hover {
  background: #fff;
  color: #007EA7;
}
.Contact_area .contact_btn_area li.dl a:hover::after {
  filter: invert(35%) sepia(16%) saturate(5891%) hue-rotate(166deg) brightness(95%) contrast(100%);
}

footer {
  padding: 48px 0;
}
footer .Wrap {
  position: relative;
  max-width: 1597px;
  margin: 0 auto;
}
footer .Wrap ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
  padding: 0 60px;
}
footer .Wrap ul a {
  font-size: 20px;
  font-size: clamp(16px, 1.0416vw, 20px);
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  margin: 0 0.78vw;
  font-weight: 700;
}
footer .Wrap ul a:hover {
  color: #007EA7;
}
footer .Wrap .copy {
  text-align: right;
  padding-top: 20px;
  border-top: solid 1px #DDDDDD;
  width: 100%;
}
footer .Wrap #Pagertop a {
  position: absolute;
  top: 0;
  right: 50px;
}

/*==========================================
  Layout
==========================================*/
/*==================================
  Top
==================================*/
.home {
  margin: 0;
  position: relative;
  font-size: 20px;
  line-height: 34px;
}
.home main h1,
.home main h2,
.home main h3,
.home main h4,
.home main h5,
.home main h6,
.home main p,
.home main pre,
.home main blockquote,
.home main ul,
.home main li,
.home main ol,
.home main dl,
.home main dd,
.home main tr,
.home main span {
  font-size: 20px;
  line-height: 34px;
}
.home .Main_area {
  margin-top: 5.2083vw;
  margin-bottom: 100px;
}
.home .Main_area .txt01 {
  color: #007EA7;
  font-size: clamp(26px, 1.5625vw, 30px);
  line-height: 1.6;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
}
.home .Main_area .Eng {
  width: 82.65625vw;
}
.home .Main_area .Eng img {
  width: 100%;
  height: auto;
}
.home .Main_area .video_area {
  position: absolute;
  right: 0;
  top: 0;
  left: auto;
  width: 100%;
  height: 40.625vw;
  overflow: hidden;
  z-index: -1;
}
.home .Main_area .video_area::before {
  content: "";
  background-image: linear-gradient(150deg, rgb(0, 88, 170), rgb(128, 205, 197) 36%, rgb(143, 211, 220) 70%, rgb(175, 224, 230));
  width: 100%;
  height: 40.625vw;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: hard-light;
  pointer-events: none;
  /* 動画操作を邪魔しない */
}
.home .Main_area .video_area::after {
  content: "";
  background-image: linear-gradient(0deg, rgba(89, 189, 207, 0.3) 30%, rgb(255, 255, 255) 100%, rgba(249, 254, 255, 0.6) 65%, rgba(254, 255, 255, 0.9) 84%);
  display: block;
  width: 100%;
  height: 40.8vw;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: hard-light;
  pointer-events: none;
  transform: rotate(180deg);
}
.home .Main_area .video {
  z-index: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .Main_area .logo {
  width: 80%;
  margin: 0 auto;
}
.home .Main_area .logo img {
  width: 100%;
  height: auto;
}
.home .Main_area .tl {
  padding-top: 6.406vw;
  text-align: center;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  font-weight: 600;
  color: #fff;
  text-align: center;
  font-size: clamp(60px, 3.6458vw, 70px);
  line-height: 1;
  text-shadow: 2px 3px 10px rgba(0, 0, 0, 0.8);
}
.home .Main_area .tl strong {
  font-size: clamp(70px, 4.1666vw, 80px);
  line-height: 1;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  color: #fff;
}
.home .Main_area .tl small {
  font-size: clamp(45px, 2.60416vw, 50px);
  line-height: 1;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  color: #fff;
  display: block;
  margin-bottom: 20px;
}
.home .Main_area .txt01 {
  text-align: center;
  font-size: clamp(35px, 2.083333vw, 40px);
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-shadow: 2px 3px 10px rgba(0, 0, 0, 0.8);
  margin-top: 2vw;
  margin-bottom: 4.47916vw;
}
.home .Main_area .txt01::before {
  content: "";
  background: #fff;
  width: 55px;
  height: 2px;
  margin-right: 10px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.8);
}
.home .Main_area .txt01::after {
  content: "";
  background: #fff;
  width: 55px;
  height: 2px;
  margin-left: 10px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.8);
}
.home .Main_area .Eng {
  padding: 0 30px;
  margin: 0 auto -30px;
  text-align: center;
}
.home .Main_area .Eng img {
  width: 100%;
  height: auto;
}
.home .Main_area .tl02 {
  color: #007EA7;
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
  margin-bottom: 40px;
}
.home .Main_area .txt02 {
  line-height: 1.7;
  max-width: 1053px;
  width: calc(100% - 45vw);
  margin: 0 auto;
  font-weight: 500;
}
.home .Main_area .txt_area {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.home .Main_area .txt_area figure img {
  width: 100%;
  height: auto;
}
.home .Main_area .txt_area .figure01 {
  width: 17vw;
  padding-right: 5vw;
  box-sizing: content-box;
}
.home .Main_area .txt_area .figure02 {
  width: 13vw;
  padding: 0 5vw;
  box-sizing: content-box;
}
.home .Slide_area {
  margin-bottom: 150px;
}
.home .Slide_area .Slide_box {
  position: relative;
  /* スライダー全体 */
  /* スライド3枚のグループ */
  /* スライド */
  /* スライドの画像 */
  /* CSSアニメーション */
}
.home .Slide_area .Slide_box .slider-wrapper {
  display: flex;
  /* スライドのグループを横並び */
  overflow: hidden;
  /* はみ出たスライドを隠す */
  align-items: flex-start;
}
.home .Slide_area .Slide_box .slider {
  animation: scroll-left02 40s infinite linear 0.5s both;
  display: flex;
  /* スライド3枚を横並び */
}
.home .Slide_area .Slide_box .slide {
  width: 25vw;
  padding: 0 12px;
  box-sizing: border-box;
  /* 3はスライドの枚数 */
}
.home .Slide_area .Slide_box .slide:nth-child(2n) {
  padding-top: 3.02vw;
}
.home .Slide_area .Slide_box .slide img {
  display: block;
  width: 100%;
  height: auto;
}
@keyframes scroll-left02 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.home .Column_area {
  padding-top: 70px;
}
.home .Column_area .Title {
  background: url(../images/top/tl_column02.svg) no-repeat center 50%;
  background-size: 100% auto;
  width: 56.197vw;
  height: 9.8177vw;
  margin: 0 auto;
  position: relative;
  margin-bottom: 73px;
}
.home .Column_area .Title span {
  width: 345.28px;
  height: 60.32px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
}
.home .Column_area .Title span img {
  width: auto;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home .Column_area .Title small {
  color: #007EA7;
  font-size: 30px;
  padding-top: 9.8177vw;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  font-weight: 600;
  display: block;
  text-align: center;
}
.home .Column_area .txt_area {
  margin-bottom: 50px;
}
.home .Column_area .txt_area dt {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 5px;
}
.home .Column_area .txt_area dd {
  font-size: 20px;
  line-height: 2;
  text-align: center;
}
.home .Column_area .column_box {
  display: flex;
  justify-content: center;
  margin-left: 50px;
  margin-right: 50px;
  margin-bottom: 50px;
}
.home .Column_area .column_box .column_a {
  background: #fff;
  display: block;
  width: 32%;
  padding: 22px;
  margin-right: 30px;
}
.home .Column_area .column_box .column_a:nth-child(3n) {
  margin-right: 0;
}
.home .Column_area .column_box .column_a .tl {
  font-size: 20px;
  font-weight: 700;
  line-height: 29px;
  color: #317EA6;
  margin-bottom: 10px;
}
.home .Column_area .column_box .column_a .ph {
  position: relative;
  margin-bottom: 10px;
  line-height: 1;
  overflow: hidden;
}
.home .Column_area .column_box .column_a .ph img {
  transition: 0.3s;
  transform: scale(1);
  width: 100%;
  height: auto;
  display: block;
}
.home .Column_area .column_box .column_a .ph::after {
  content: "";
  background: url(../images/common/figure_icon.svg) no-repeat center 50%;
  background-size: 100% auto;
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}
.home .Column_area .column_box .column_a .tag {
  font-size: 12px;
  color: #888888;
}
.home .Column_area .column_box .column_a .tag span {
  font-size: 12px;
}
.home .Column_area .column_box .column_a:hover .ph img {
  transform: scale(1.05);
}
.home .Contents_area {
  padding: 220px 0 0;
  position: relative;
}
.home .Contents_area::before {
  content: "";
  background: url(../images/common/bg_naname.png) no-repeat center 0;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.home .Contents_area .Title {
  text-align: center;
  margin-bottom: 60px;
}
.home .Contents_area .box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 196px;
}
.home .Contents_area .box .ph {
  width: 49%;
}
.home .Contents_area .box .ph img {
  -o-object-fit: cover !important;
     object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}
.home .Contents_area .box .txt_box {
  width: 49%;
  padding-top: 50px;
  position: relative;
}
.home .Contents_area .box .txt_box figure {
  width: 19.859vw;
  position: absolute;
  right: 8.333vw;
  top: 0;
  max-width: 400.5px;
}
.home .Contents_area .box .txt_box figure img {
  width: 100%;
  height: auto;
}
.home .Contents_area .box .txt_box .Btn a {
  margin: 30px 0 0;
}
.home .Contents_area .box .txt_box .tl {
  font-size: 50px;
  font-size: clamp(40px, 2.604vw, 50px);
  line-height: 1.3;
  color: #007EA7;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  margin-bottom: 1.7708vw;
  position: relative;
}
.home .Contents_area .box .txt_box .tl span {
  background: #007EA7;
  width: 2.604vw;
  max-width: 50px;
  height: 1px;
  margin-left: 7px;
  top: -15px;
  position: relative;
  display: inline-block;
}
.home .Contents_area .box .txt_box .tl02 {
  font-size: 30px;
  line-height: 44px;
  font-size: clamp(26px, 1.5625vw, 30px);
  color: #007EA7;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  margin-bottom: 4.687vw;
}
.home .Contents_area .box .txt_box.txt_box_r {
  padding-right: 8.333vw;
}
.home .Contents_area .box .txt_box.txt_box_l {
  padding-left: 8.333vw;
}
.home .Contents_area .box .txt_box.txt_box_l figure {
  right: 0;
  top: 10px;
}
@media (max-width: 1500px) {
  .home .Contents_area .box .txt_box figure {
    width: 18vw !important;
    top: 2vw !important;
  }
}
@media (max-width: 1350px) {
  .home .Contents_area .box .txt_box figure {
    width: 15vw !important;
  }
}
.home .Contents_area .box02 {
  flex-direction: row-reverse;
}
.home .Contents_area .box02 .txt_box figure {
  width: 20.333vw;
  max-width: 390.4px;
}
@media (max-width: 1500px) {
  .home .Contents_area .box02 .txt_box figure {
    width: 18vw !important;
    top: 2vw !important;
  }
}
@media (max-width: 1350px) {
  .home .Contents_area .box02 .txt_box figure {
    width: 16vw !important;
  }
}
.home .Contents_area .box03 {
  margin-bottom: 0;
}
.home .Contents_area .box03 .txt_box figure {
  width: 22.774vw;
  top: 51px;
}
.home .Contents_area .box02 .txt_box .tl02,
.home .Contents_area .box03 .txt_box .tl02 {
  margin-bottom: 1.5625vw !important;
}
.home .Faq_area {
  position: relative;
  padding: 11.979vw 0 0;
}
.home .Faq_area::after {
  content: "";
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255) 100%);
  display: block;
  width: 100%;
  height: 10vw;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: hard-light;
  pointer-events: none;
  transform: rotate(180deg);
}
.home .Faq_area .video_area {
  position: absolute;
  right: 0;
  top: 0;
  left: auto;
  width: 100%;
  height: 715px;
  overflow: hidden;
  z-index: -1;
}
.home .Faq_area .video_area::before {
  content: "";
  background-image: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(175, 211, 226) 16%, rgb(0, 126, 167) 32%, rgb(0, 168, 232) 52%, rgb(250, 255, 255) 100%, rgb(255, 255, 255));
  width: 100%;
  height: 715px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: overlay;
  pointer-events: none;
  /* 動画操作を邪魔しない */
}
.home .Faq_area .video_area::after {
  content: "";
  background-image: linear-gradient(360deg, rgba(255, 255, 255, 0), rgb(255, 255, 255) 55%);
  display: block;
  width: 100%;
  height: 20vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  mix-blend-mode: hard-light;
  pointer-events: none;
  transform: rotate(180deg);
}
.home .Faq_area .video {
  z-index: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .Faq_area .Title {
  text-align: center;
  margin-bottom: 55px;
}
.home .Faq_area .Title small {
  font-size: 26px;
  color: #007EA7;
  text-align: center;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  display: block;
  margin-top: 20px;
}
.home .Faq_area .txt {
  text-align: center;
  line-height: 34px;
  margin-bottom: 50px;
}

/*==================================
  column 詳細
==================================*/
.post-type-archive-column main .Side_area,
body.single-column main .Side_area {
  width: 373px;
}
.post-type-archive-column main .Side_area .title,
body.single-column main .Side_area .title {
  font-size: 18px;
  border-bottom: solid 3px #333;
  padding-bottom: 4px;
  margin-bottom: 20px;
  font-weight: 700;
}
.post-type-archive-column main .Side_area .side_box,
body.single-column main .Side_area .side_box {
  margin-bottom: 50px;
}
.post-type-archive-column main .Side_area .column_a,
body.single-column main .Side_area .column_a {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.post-type-archive-column main .Side_area .column_a .ph,
body.single-column main .Side_area .column_a .ph {
  width: 100px;
  height: 100px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.post-type-archive-column main .Side_area .column_a .ph img,
body.single-column main .Side_area .column_a .ph img {
  width: 100%;
  height: auto;
}
.post-type-archive-column main .Side_area .column_a ul.txt_area,
body.single-column main .Side_area .column_a ul.txt_area {
  width: calc(100% - 117px);
}
.post-type-archive-column main .Side_area .column_a ul.txt_area .day_box,
body.single-column main .Side_area .column_a ul.txt_area .day_box {
  margin-bottom: 10px;
}
.post-type-archive-column main .Side_area .column_a ul.txt_area .day_box .day,
body.single-column main .Side_area .column_a ul.txt_area .day_box .day {
  font-size: 14px;
  line-height: 1;
  margin-right: 10px;
  margin-bottom: 5px;
  display: block;
}
.post-type-archive-column main .Side_area .column_a ul.txt_area .day_box .tag,
body.single-column main .Side_area .column_a ul.txt_area .day_box .tag {
  font-size: 14px;
  line-height: 1;
  color: #fff;
  background: #007EA7;
  padding: 3px 10px;
  margin-right: 5px;
}
.post-type-archive-column main .Side_area .column_a ul.txt_area .tl,
body.single-column main .Side_area .column_a ul.txt_area .tl {
  font-size: 16px;
  line-height: 26px;
}
.post-type-archive-column main .Side_area .tag_area a,
body.single-column main .Side_area .tag_area a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  margin-bottom: 20px;
  font-size: 16px;
}
.post-type-archive-column main .Side_area .tag_area a::after,
body.single-column main .Side_area .tag_area a::after {
  content: "";
  background: url(../images/common/arrow_right02.svg) no-repeat center 50%;
  background-size: 15px 17px;
  width: 15px;
  height: 17px;
  display: block;
}
.post-type-archive-column main .Side_area .archive_select_area select,
body.single-column main .Side_area .archive_select_area select {
  border: solid 1px #AAAAAA;
  padding: 10px 20px;
  background: #fff;
  border-radius: 5px;
  font-size: 18px;
  width: 100% !important;
  background: url(../images/common/arrow_down.svg) no-repeat 98% 50% #fff;
  background-size: 16px auto;
}
.post-type-archive-column main .lead,
body.single-column main .lead {
  color: #007EA7;
  text-align: center;
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  font-size: 30px;
  margin-bottom: 80px;
}
.post-type-archive-column main .Wrapper,
body.single-column main .Wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1325px;
}
.post-type-archive-column main .main_box,
body.single-column main .main_box {
  width: calc(100% - 373px - 40px);
}
.post-type-archive-column main .main_box .title02,
body.single-column main .main_box .title02 {
  background: #F8F9FA;
  font-size: 26px;
  font-weight: 700;
  padding: 30px;
  margin-bottom: 40px;
}
.post-type-archive-column main .main_box .column_a,
body.single-column main .main_box .column_a {
  display: flex;
  justify-content: space-between;
  width: 100%;
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.post-type-archive-column main .main_box .column_a .ph,
body.single-column main .main_box .column_a .ph {
  width: 237px;
  height: 237px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.post-type-archive-column main .main_box .column_a .ph img,
body.single-column main .main_box .column_a .ph img {
  width: 100%;
  height: auto;
}
.post-type-archive-column main .main_box .column_a ul.txt_area,
body.single-column main .main_box .column_a ul.txt_area {
  padding-top: 12px;
  width: calc(100% - 270px);
}
.post-type-archive-column main .main_box .column_a ul.txt_area .day_box,
body.single-column main .main_box .column_a ul.txt_area .day_box {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.post-type-archive-column main .main_box .column_a ul.txt_area .day_box .day,
body.single-column main .main_box .column_a ul.txt_area .day_box .day {
  font-size: 16px;
  line-height: 1;
  margin-right: 10px;
}
.post-type-archive-column main .main_box .column_a ul.txt_area .day_box .tag,
body.single-column main .main_box .column_a ul.txt_area .day_box .tag {
  font-size: 14px;
  line-height: 1;
  color: #fff;
  background: #007EA7;
  padding: 6px 10px;
  margin-right: 5px;
}
.post-type-archive-column main .main_box .archive_pager,
body.single-column main .main_box .archive_pager {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 70px auto;
}
.post-type-archive-column main .main_box .archive_pager .pager,
body.single-column main .main_box .archive_pager .pager {
  display: flex;
}
.post-type-archive-column main .main_box .archive_pager .pager a,
.post-type-archive-column main .main_box .archive_pager .pager span,
body.single-column main .main_box .archive_pager .pager a,
body.single-column main .main_box .archive_pager .pager span {
  align-items: center;
  width: 43px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2.5px;
}
.post-type-archive-column main .main_box .archive_pager .page-numbers:not(.next, .prev, .dots),
body.single-column main .main_box .archive_pager .page-numbers:not(.next, .prev, .dots) {
  background: #fff;
  border: solid 1px #DDDDDD;
  width: 43px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2.5px;
}
.post-type-archive-column main .main_box .archive_pager .page-numbers:not(.next, .prev, .dots).current, .post-type-archive-column main .main_box .archive_pager .page-numbers:not(.next, .prev, .dots):hover,
body.single-column main .main_box .archive_pager .page-numbers:not(.next, .prev, .dots).current,
body.single-column main .main_box .archive_pager .page-numbers:not(.next, .prev, .dots):hover {
  background: #007EA7;
  color: #fff;
}
.post-type-archive-column main .main_box .archive_pager .first-page,
.post-type-archive-column main .main_box .archive_pager .last-page,
body.single-column main .main_box .archive_pager .first-page,
body.single-column main .main_box .archive_pager .last-page {
  color: #007EA7;
  font-size: 20px;
}
.post-type-archive-column main .main_box .archive_pager .prev,
body.single-column main .main_box .archive_pager .prev {
  margin-right: 50px;
  background: url(../images/common/arrow_left.svg) no-repeat center 50%;
  background-size: 14px auto;
  width: 43px;
  height: 43px;
  display: block;
  margin-right: 20px;
  position: relative;
  left: 0;
  transition: 0.3s;
  text-indent: -999px;
}
.post-type-archive-column main .main_box .archive_pager .next,
body.single-column main .main_box .archive_pager .next {
  margin-left: 50px;
  background: url(../images/common/arrow_right.svg) no-repeat center 50%;
  background-size: 14px auto;
  width: 27px;
  height: 7px;
  display: block;
  margin-left: 20px;
  position: relative;
  right: 0;
  transition: 0.3s;
  text-indent: -999px;
}
.post-type-archive-column main .main_box .archive_pager .next,
.post-type-archive-column main .main_box .archive_pager .prev,
.post-type-archive-column main .main_box .archive_pager .first-page,
.post-type-archive-column main .main_box .archive_pager .last-page,
body.single-column main .main_box .archive_pager .next,
body.single-column main .main_box .archive_pager .prev,
body.single-column main .main_box .archive_pager .first-page,
body.single-column main .main_box .archive_pager .last-page {
  transition: 0.3s;
}
.post-type-archive-column main .main_box .archive_pager .next:hover,
.post-type-archive-column main .main_box .archive_pager .prev:hover,
.post-type-archive-column main .main_box .archive_pager .first-page:hover,
.post-type-archive-column main .main_box .archive_pager .last-page:hover,
body.single-column main .main_box .archive_pager .next:hover,
body.single-column main .main_box .archive_pager .prev:hover,
body.single-column main .main_box .archive_pager .first-page:hover,
body.single-column main .main_box .archive_pager .last-page:hover {
  opacity: 0.7;
}
.post-type-archive-column .column-single .main_box,
body.single-column .column-single .main_box {
  display: block;
}
.post-type-archive-column .column-single .main_box .title_box,
body.single-column .column-single .main_box .title_box {
  background: #F8F9FA;
  padding: 28px;
  margin-bottom: 20px;
}
.post-type-archive-column .column-single .main_box .title_box h2,
body.single-column .column-single .main_box .title_box h2 {
  font-size: 26px;
  font-weight: 700;
  line-height: 34px;
}
.post-type-archive-column .column-single .main_box .ph_main,
body.single-column .column-single .main_box .ph_main {
  overflow: hidden;
  font-size: 0.1px;
  line-height: 0.1px;
  margin-bottom: 50px;
}
.post-type-archive-column .column-single .main_box .ph_main img,
body.single-column .column-single .main_box .ph_main img {
  width: 100%;
  height: auto;
}
.post-type-archive-column .column-single .main_box .day_box,
body.single-column .column-single .main_box .day_box {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.post-type-archive-column .column-single .main_box .day_box .day,
body.single-column .column-single .main_box .day_box .day {
  font-size: 16px;
  line-height: 1;
  margin-right: 10px;
}
.post-type-archive-column .column-single .main_box .day_box .tag,
body.single-column .column-single .main_box .day_box .tag {
  font-size: 14px;
  line-height: 1;
  color: #fff;
  background: #007EA7;
  padding: 6px 10px;
  margin-right: 5px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content p,
body.single-column .column-single .main_box .edit-area .w_content p {
  margin: 30px 0;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content p img,
body.single-column .column-single .main_box .edit-area .w_content p img {
  max-width: 100%;
  max-width: 630px;
  width: auto;
  height: auto;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content p.add,
body.single-column .column-single .main_box .edit-area .w_content p.add {
  color: #888888;
  border: solid 1px #AAAAAA;
  padding: 20px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content a,
body.single-column .column-single .main_box .edit-area .w_content a {
  word-break: break-all;
  line-height: 1.6;
  display: block;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content ul li,
body.single-column .column-single .main_box .edit-area .w_content ul li {
  list-style: disc;
  margin-left: 2em;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content ol li,
body.single-column .column-single .main_box .edit-area .w_content ol li {
  margin-left: 2em;
  list-style: decimal-leading-zero;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content li,
body.single-column .column-single .main_box .edit-area .w_content li {
  margin-bottom: 10px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content h3,
body.single-column .column-single .main_box .edit-area .w_content h3 {
  font-size: 30px;
  line-height: 1.6;
  font-weight: 700;
  border-bottom: solid 2px #333333;
  margin-bottom: 25px;
  padding-bottom: 10px;
  margin-top: 60px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content h4,
body.single-column .column-single .main_box .edit-area .w_content h4 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 700;
  margin-top: 60px;
  margin-bottom: 30px;
  background: #D9ECF2;
  border-radius: 10px;
  padding: 15px 20px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact {
  overflow: hidden;
  position: relative;
  z-index: 0;
  border-radius: 80px;
  width: 467px;
  height: 80px;
  margin: 150px auto 0;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact a,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 80px;
  width: 467px;
  background: #fff;
  box-shadow: inset 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  height: 80px;
  color: #BE1D2C;
  font-size: 20px;
  font-weight: 500;
  position: relative;
  margin: 0 auto !important;
  z-index: 1;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact a::before,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact a::before {
  content: "";
  display: block;
  width: 0;
  height: 150px;
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: -1;
  background-color: #C54450;
  transition: 0.3s;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact a::after,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact a::after {
  content: "";
  background: url(../images/common/icon_mail_b.svg) no-repeat center 50%;
  width: 32px;
  height: 23px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50px;
  margin-top: -11px;
  filter: invert(17%) sepia(42%) saturate(6069%) hue-rotate(342deg) brightness(95%) contrast(94%);
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact a:hover,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact a:hover {
  color: #fff;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact a:hover::before,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact a:hover::before {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 467px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .Btn_contact a:hover::after,
body.single-column .column-single .main_box .edit-area .w_content .Btn_contact a:hover::after {
  filter: invert(99%) sepia(5%) saturate(4%) hue-rotate(133deg) brightness(105%) contrast(100%);
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .wp-block-image,
body.single-column .column-single .main_box .edit-area .w_content .wp-block-image {
  padding: 0;
  font-size: 0.1px;
  line-height: 0.1px;
  margin-bottom: 30px;
  text-align: left;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .wp-block-image img,
body.single-column .column-single .main_box .edit-area .w_content .wp-block-image img {
  max-width: 100%;
  height: auto;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .wp-block-table,
body.single-column .column-single .main_box .edit-area .w_content .wp-block-table {
  margin-top: 15px;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .wp-block-table td,
body.single-column .column-single .main_box .edit-area .w_content .wp-block-table td {
  padding: 20px;
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
  border-color: #363636;
}
.post-type-archive-column .column-single .main_box .edit-area .w_content .wp-block-table:not(.is-style-stripes) tr:first-child td,
body.single-column .column-single .main_box .edit-area .w_content .wp-block-table:not(.is-style-stripes) tr:first-child td {
  text-align: center;
  padding: 10px 20px;
}
.post-type-archive-column .column-single .main_box .Sns_share,
body.single-column .column-single .main_box .Sns_share {
  display: flex;
  padding: 50px;
  border: solid 1px #333333;
  border-radius: 10px;
  justify-content: space-between;
  max-width: 915px;
  margin: 0 auto 100px;
}
.post-type-archive-column .column-single .main_box .Sns_share .sns_tl,
body.single-column .column-single .main_box .Sns_share .sns_tl {
  width: 200px;
  text-align: center;
}
.post-type-archive-column .column-single .main_box .Sns_share ul,
body.single-column .column-single .main_box .Sns_share ul {
  display: flex;
  align-items: center;
  width: 50%;
  margin: 0 !important;
}
.post-type-archive-column .column-single .main_box .Sns_share ul li,
body.single-column .column-single .main_box .Sns_share ul li {
  width: 33.33333%;
  list-style: none !important;
  margin: 0 !important;
}
.post-type-archive-column .column-single .main_box .Sns_share ul li a,
body.single-column .column-single .main_box .Sns_share ul li a {
  display: block;
  text-indent: -9990px;
  width: 50px;
  margin: 0 auto;
  height: 50px;
  transition: 0.3s;
}
.post-type-archive-column .column-single .main_box .Sns_share ul li a:hover,
body.single-column .column-single .main_box .Sns_share ul li a:hover {
  opacity: 0.7;
}
.post-type-archive-column .column-single .main_box .Sns_share ul li.facebook a,
body.single-column .column-single .main_box .Sns_share ul li.facebook a {
  background: url(../images/common/sns_facebook.svg) no-repeat center 50%;
  background-size: 100% auto;
}
.post-type-archive-column .column-single .main_box .Sns_share ul li.x a,
body.single-column .column-single .main_box .Sns_share ul li.x a {
  background: url(../images/common/sns_x.svg) no-repeat center 50%;
  background-size: 100% auto;
}
.post-type-archive-column .column-single .main_box .Sns_share ul li.line a,
body.single-column .column-single .main_box .Sns_share ul li.line a {
  background: url(../images/common/sns_line.svg) no-repeat center 50%;
  background-size: 100% auto;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav,
body.single-column .column-single .main_box .single_bottom_nav {
  display: flex;
  align-content: center;
  margin-top: 55px;
  margin-bottom: 105px;
  justify-content: center;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .back.Btn,
body.single-column .column-single .main_box .single_bottom_nav .back.Btn {
  width: 210px;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .back.Btn a,
body.single-column .column-single .main_box .single_bottom_nav .back.Btn a {
  text-align: center;
  width: 100%;
  justify-content: center;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .back.Btn a::after,
body.single-column .column-single .main_box .single_bottom_nav .back.Btn a::after {
  display: none;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .nav_link_prev,
body.single-column .column-single .main_box .single_bottom_nav .nav_link_prev {
  margin-right: 50px !important;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .nav_link_next,
body.single-column .column-single .main_box .single_bottom_nav .nav_link_next {
  margin-left: 50px !important;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev {
  margin-right: 50px;
  display: flex;
  align-items: center;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev a,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev a {
  color: #007EA7;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev::before,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev::before {
  content: "";
  background: url(../images/common/arrow_left03.svg) no-repeat 0 50%;
  background-size: 16px auto;
  width: 16px;
  height: 16px;
  display: block;
  margin-right: 8px;
  position: relative;
  left: 0;
  top: 2px;
  transition: 0.3s;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next {
  margin-left: 50px;
  display: flex;
  align-items: center;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next a,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next a {
  color: #007EA7;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next::after,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next::after {
  content: "";
  background: url(../images/common/arrow_right03.svg) no-repeat 0 50%;
  background-size: 16px auto;
  width: 16px;
  height: 16px;
  display: block;
  margin-left: 8px;
  position: relative;
  right: 0;
  top: 2px;
  transition: 0.3s;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next a,
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev a,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next a,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev a {
  position: relative;
  font-size: 20px;
  text-decoration: underline;
}
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next a:hover,
.post-type-archive-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev a:hover,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_next a:hover,
body.single-column .column-single .main_box .single_bottom_nav .single_bottom_nav_prev a:hover {
  text-decoration: none;
}

/*==================================
    page-template-page_contact
==================================*/
.page-template-page_contact main .k_Main_area {
  background: url(../images/common/k_main_bg.jpg) no-repeat center 50%;
  background-size: cover;
  width: 100%;
}
.page-template-page_contact main .Wrap {
  max-width: 1325px;
}
.page-template-page_contact main .Form_area .wpcf7-turnstile {
  margin-bottom: 30px;
}
.page-template-page_contact main .Form_area .wpcf7-turnstile div:first-child {
  width: 300px;
  margin: 0 auto;
}
.page-template-page_contact main .Form_area .icon {
  font-size: 12px;
  color: #fff;
  background: #B53D48;
  border-radius: 3px;
  width: 45px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 10px;
  line-height: 1;
  position: relative;
  top: 1px;
}
.page-template-page_contact main .Form_area .icon.nini {
  background: #EDEDED;
  color: #666666;
}
.page-template-page_contact main .Form_area .lead {
  margin-bottom: 50px;
  font-size: 30px;
  text-align: center;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  color: #007EA7;
  font-weight: 700;
}
.page-template-page_contact main .Form_area .red,
.page-template-page_contact main .Form_area .wpcf7-not-valid-tip {
  color: #B53D48;
}
.page-template-page_contact main .Form_area .wpcf7 form.invalid .wpcf7-response-output,
.page-template-page_contact main .Form_area .wpcf7 form.unaccepted .wpcf7-response-output,
.page-template-page_contact main .Form_area .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #B53D48;
}
.page-template-page_contact main .Form_box .name_area dd {
  display: flex;
  justify-content: space-between;
}
.page-template-page_contact main .Form_box .name_area dd .wpcf7-form-control-wrap {
  width: 48%;
}
.page-template-page_contact main .Form_box .mail_area .kome {
  margin: 20px 0;
}
.page-template-page_contact main .Form_box .privacy_area {
  border-bottom: none;
}
.page-template-page_contact main .Form_box .privacy_area dd a {
  display: flex;
  align-items: center;
  color: #007EA7;
  text-decoration: underline;
  transition: 0.3s;
}
.page-template-page_contact main .Form_box .privacy_area dd a::after {
  content: "";
  background: url(../images/common/icon_blank.svg) no-repeat center 50%;
  background-size: 24px auto;
  width: 24px;
  height: 20px;
  display: block;
  margin-left: 5px;
}
.page-template-page_contact main .Form_box .privacy_area dd a:hover {
  text-decoration: none;
}
.page-template-page_contact main .Form_box dl {
  padding-bottom: 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: flex-start;
  border-bottom: solid 1px #DDDDDD;
}
.page-template-page_contact main .Form_box dl dt {
  position: relative;
  z-index: 2;
  margin-bottom: 10px;
  width: 280px;
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 20px;
}
.page-template-page_contact main .Form_box dl input {
  border: solid 1px #AAAAAA;
  padding: 10px 20px;
  background: #fff;
  border-radius: 7px;
}
.page-template-page_contact main .Form_box dl dd {
  width: calc(100% - 280px);
}
.page-template-page_contact main .submit_area {
  margin-bottom: 80px;
}
.page-template-page_contact main .submit_area .submit_btn input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 80px;
  width: 321px;
  background-color: #007EA7;
  height: 69px;
  color: #fff;
  font-size: 20px;
  position: relative;
  margin: 0 auto !important;
  z-index: 4;
  transition: 0.3s;
  border: solid 1px #fff;
}
.page-template-page_contact main .submit_area .submit_btn input[type=submit]:hover {
  color: #007EA7;
  background-color: #fff;
  border: solid 2px #007EA7;
}
.page-template-page_contact main .submit_area .submit_btn:hover {
  color: #fff;
}
.page-template-page_contact main .submit_area .wpcf7-response-output {
  border-color: #B53D48;
}
.page-template-page_contact main input[type=text],
.page-template-page_contact main input[type=tel],
.page-template-page_contact main input[type=email],
.page-template-page_contact main textarea,
.page-template-page_contact main select {
  border: solid 1px #666666 !important;
  padding: 10px 20px;
  background: #fff;
  border-radius: 5px;
  font-size: 20px;
  width: 100% !important;
}
.page-template-page_contact main input[type=text]:focus,
.page-template-page_contact main input[type=tel]:focus,
.page-template-page_contact main input[type=email]:focus,
.page-template-page_contact main textarea:focus,
.page-template-page_contact main select:focus {
  outline: none !important;
}
.page-template-page_contact main textarea {
  height: 200px;
  line-height: 1.4;
}
.page-template-page_contact main ::-moz-placeholder {
  color: #DDDDDD;
}
.page-template-page_contact main ::placeholder {
  color: #DDDDDD;
}
.page-template-page_contact .confirm_message {
  white-space: pre-wrap;
}
.page-template-page_contact .error-message {
  font-size: 1em;
  font-weight: normal;
  display: block;
}

/*==================================
    page-template-page_knowledge technology共通
==================================*/
.page-template-page_knowledge .Contact_area {
  margin-top: 0;
}

main.k_temp .bg_blue:last-child,
.page-template-page_knowledge main .bg_blue:last-child {
  margin-bottom: 0 !important;
}
main.k_temp .Wrap,
.page-template-page_knowledge main .Wrap {
  max-width: 1326px;
}
main.k_temp .Message_area .lead,
.page-template-page_knowledge main .Message_area .lead {
  margin-bottom: 102px;
}
main.k_temp .Message_area .Wrap,
.page-template-page_knowledge main .Message_area .Wrap {
  max-width: 1597px;
}
main.k_temp .Message_area .index_box,
.page-template-page_knowledge main .Message_area .index_box {
  background: #F8F9FA;
  border-top: solid 5px #007EA7;
  padding: 43px 50px;
  margin-bottom: 100px;
}
main.k_temp .Message_area .index_box dt,
.page-template-page_knowledge main .Message_area .index_box dt {
  text-align: center;
  margin-bottom: 50px;
}
main.k_temp .Message_area .index_box dd ul,
.page-template-page_knowledge main .Message_area .index_box dd ul {
  padding: 0 10%;
}
main.k_temp .Message_area .index_box dd li,
.page-template-page_knowledge main .Message_area .index_box dd li {
  font-size: 20px;
  margin-bottom: 15px;
}
main.k_temp .Message_area .index_box dd a,
.page-template-page_knowledge main .Message_area .index_box dd a {
  color: #007EA7;
  text-decoration: underline;
  font-size: 20px;
  padding-left: 10px;
}
main.k_temp .Message_area .index_box dd a:hover,
.page-template-page_knowledge main .Message_area .index_box dd a:hover {
  text-decoration: none;
}
main.k_temp .Message_area .Wrap02,
.page-template-page_knowledge main .Message_area .Wrap02 {
  max-width: 1053px;
}
main.k_temp [class^=Sec],
.page-template-page_knowledge main [class^=Sec] {
  margin-bottom: 105px;
}
main.k_temp section.Sec03,
.page-template-page_knowledge main section.Sec03 {
  margin-bottom: 0;
}
main.k_temp .tl_kazari,
.page-template-page_knowledge main .tl_kazari {
  background: url(../images/common/tl_kazari.svg) no-repeat center bottom;
  background-size: 298px auto;
  padding-bottom: 32px;
  color: #007EA7;
  font-size: 30px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  text-align: center;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 50px;
}
main.k_temp .border,
.page-template-page_knowledge main .border {
  border-bottom: solid 1px #DDDDDD;
  margin-bottom: 53px;
}
main.k_temp .border dd,
.page-template-page_knowledge main .border dd {
  line-height: 30px;
}
main.k_temp .mb_no,
.page-template-page_knowledge main .mb_no {
  margin-bottom: 0 !important;
}
main.k_temp .tl_border_box,
.page-template-page_knowledge main .tl_border_box {
  padding-bottom: 48px;
}
main.k_temp .txt_area .tl_border_box:not(:last-child),
.page-template-page_knowledge main .txt_area .tl_border_box:not(:last-child) {
  padding-bottom: 90px;
}
main.k_temp .txt,
.page-template-page_knowledge main .txt {
  line-height: 30px;
}
main.k_temp .lead,
.page-template-page_knowledge main .lead {
  margin-bottom: 60px;
  line-height: 30px;
}
main.k_temp .back.mt,
.page-template-page_knowledge main .back.mt {
  margin-top: 60px;
}
main.k_temp .back a,
.page-template-page_knowledge main .back a {
  color: #007EA7;
  font-size: 20px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: underline;
}
main.k_temp .back a:hover,
.page-template-page_knowledge main .back a:hover {
  text-decoration: none;
}
main.k_temp .back a::before,
.page-template-page_knowledge main .back a::before {
  content: "";
  background: url(../images/common/arrow_up.svg) no-repeat 0 0;
  background-size: 16px auto;
  width: 16px;
  height: 16px;
  display: block;
  margin-right: 5px;
}
main.k_temp .table_area,
.page-template-page_knowledge main .table_area {
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
main.k_temp .table_area .t,
.page-template-page_knowledge main .table_area .t {
  font-weight: 700;
  margin-bottom: 10px;
}
main.k_temp .table_area .t.t_s,
.page-template-page_knowledge main .table_area .t.t_s {
  display: flex;
  justify-content: space-between;
}
main.k_temp .table_area .t.t_s span,
.page-template-page_knowledge main .table_area .t.t_s span {
  font-weight: 700;
}
main.k_temp .table_area th,
main.k_temp .table_area td,
.page-template-page_knowledge main .table_area th,
.page-template-page_knowledge main .table_area td {
  font-weight: 700;
  border: solid 1px #BABABA;
  padding: 11px 12px;
  background: #fff;
}
main.k_temp .table_area td,
.page-template-page_knowledge main .table_area td {
  font-weight: 500;
  padding: 8px 12px;
}
main.k_temp .table_area .th01,
.page-template-page_knowledge main .table_area .th01 {
  background: #007EA7;
  text-align: center;
  color: #fff;
  line-height: 24px;
  text-align: center;
}
main.k_temp .table_area .th02,
.page-template-page_knowledge main .table_area .th02 {
  background: #D7E8EF;
  padding: 8px 12px;
}
main.k_temp .table_area .th02.w04,
.page-template-page_knowledge main .table_area .th02.w04 {
  width: 22%;
  white-space: nowrap;
}
main.k_temp .table_area .center,
.page-template-page_knowledge main .table_area .center {
  text-align: center;
}
main.k_temp .table_area .right,
.page-template-page_knowledge main .table_area .right {
  text-align: right;
}
main.k_temp .table_area .k_table01 .th02,
main.k_temp .table_area .k_table01 td,
main.k_temp .table_area .k_table03 .th02,
main.k_temp .table_area .k_table03 td,
.page-template-page_knowledge main .table_area .k_table01 .th02,
.page-template-page_knowledge main .table_area .k_table01 td,
.page-template-page_knowledge main .table_area .k_table03 .th02,
.page-template-page_knowledge main .table_area .k_table03 td {
  width: 33.3333333333%;
}
main.k_temp .table_area .l_table01 .th02,
main.k_temp .table_area .l_table01 td,
.page-template-page_knowledge main .table_area .l_table01 .th02,
.page-template-page_knowledge main .table_area .l_table01 td {
  text-align: center;
  width: 14.2857142857%;
}
main.k_temp .Sec01_area .Wrap,
.page-template-page_knowledge main .Sec01_area .Wrap {
  max-width: 1320px;
}
main.k_temp .border_no,
.page-template-page_knowledge main .border_no {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
main.k_temp .border_box dl,
.page-template-page_knowledge main .border_box dl {
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
main.k_temp .ph_box,
.page-template-page_knowledge main .ph_box {
  display: flex;
  justify-content: space-between;
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
main.k_temp .ph_box .ph,
main.k_temp .ph_box figure,
.page-template-page_knowledge main .ph_box .ph,
.page-template-page_knowledge main .ph_box figure {
  width: 373px;
}
main.k_temp .ph_box .ph img,
main.k_temp .ph_box figure img,
.page-template-page_knowledge main .ph_box .ph img,
.page-template-page_knowledge main .ph_box figure img {
  width: 100%;
  height: auto;
}
main.k_temp .ph_box .r_box,
.page-template-page_knowledge main .ph_box .r_box {
  width: calc(100% - 405px);
}
main.k_temp .ph_box .r_box dl:not(:last-child),
.page-template-page_knowledge main .ph_box .r_box dl:not(:last-child) {
  margin-bottom: 30px;
}
main.k_temp .Sec09_area,
.page-template-page_knowledge main .Sec09_area {
  margin-bottom: 0;
}

/*==================================
    page-template-page_technology
==================================*/
.page-template-page_technology .Contact_area {
  margin-top: 0;
}

.page-template-page_technology main .k_Main_area {
  background: url(../images/technology/main_bg.jpg) no-repeat center 50%;
  background-size: cover;
  width: 100%;
}
.page-template-page_technology main .tl_s_border {
  display: flex;
  align-items: center;
  font-weight: 700;
}
.page-template-page_technology main .tl_s_border::before {
  content: "";
  background: #007EA7;
  height: 3px;
  width: 12px;
  border-radius: 6px;
  margin-right: 3px;
  display: block;
}
.page-template-page_technology main .Wrap {
  max-width: 1325px;
}
.page-template-page_technology main .list_box li {
  display: flex;
}
.page-template-page_technology main .list_box .icon {
  width: 2em;
}
.page-template-page_technology main .list_box .txt {
  width: calc(100% - 2em);
}
.page-template-page_technology main .red {
  color: #FF0000;
  margin-top: 10px;
}
.page-template-page_technology main .check_list_area dl {
  margin-bottom: 30px;
}
.page-template-page_technology main .check_list_area dl:last-child {
  margin-bottom: 0;
}
.page-template-page_technology main .check_list_area dl dt {
  font-weight: 700;
  margin-bottom: 10px;
}
.page-template-page_technology main .check_list li {
  display: flex;
  margin-bottom: 5px;
}
.page-template-page_technology main .check_list li::before {
  content: "";
  background: url(../images/common/icon_check.svg) no-repeat 0 50%;
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  position: relative;
  top: 7px;
}
.page-template-page_technology main .check_list li span {
  width: calc(100% - 30px);
}
.page-template-page_technology main .Sec01_area .txt_area .ph_box {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.page-template-page_technology main .Sec01_area .txt_area dl {
  margin-bottom: 100px;
}
.page-template-page_technology main .Sec01_area .txt_area dl.end {
  margin-bottom: 30px;
}
.page-template-page_technology main .Sec01_area .txt_area .txt {
  margin-bottom: 40px;
}
.page-template-page_technology main .Sec02_area .box {
  margin-bottom: 100px;
}
.page-template-page_technology main .Sec02_area .txt {
  margin-bottom: 20px;
}
.page-template-page_technology main .Sec02_area .ph_box {
  border: none;
  margin-bottom: 20px;
  padding-bottom: 0;
}
.page-template-page_technology main .txt_dl_box dl:not(:last-child) {
  margin-bottom: 74px;
}
.page-template-page_technology main .Sec07_area .list_box {
  margin: 20px 0;
}
.page-template-page_technology main .Sec08_area .txt_dl_box dl:not(:last-child) {
  margin-bottom: 40px;
}

/*==================================
    page-template-page_lineup
==================================*/
.page-template-page_lineup .Contact_area {
  margin-top: 0;
}

.page-template-page_lineup main .k_Main_area {
  background: url(../images/lineup/main_bg.jpg) no-repeat center 50%;
  background-size: cover;
  width: 100%;
}
.page-template-page_lineup main .tl_s_border {
  display: flex;
  align-items: center;
  font-weight: 700;
}
.page-template-page_lineup main .tl_s_border::before {
  content: "";
  background: #007EA7;
  height: 3px;
  width: 12px;
  border-radius: 6px;
  margin-right: 3px;
  display: block;
}
.page-template-page_lineup main .Wrap {
  max-width: 1325px;
}
.page-template-page_lineup main .list_box li {
  display: flex;
}
.page-template-page_lineup main .list_box .icon {
  width: 2em;
}
.page-template-page_lineup main .list_box .txt {
  width: calc(100% - 2em);
}
.page-template-page_lineup main .red {
  color: #FF0000;
  margin-top: 10px;
}
.page-template-page_lineup main .check_list_area dl {
  margin-bottom: 30px;
}
.page-template-page_lineup main .check_list_area dl:last-child {
  margin-bottom: 0;
}
.page-template-page_lineup main .check_list_area dl dt {
  font-weight: 700;
  margin-bottom: 10px;
}
.page-template-page_lineup main .check_list li {
  display: flex;
  margin-bottom: 5px;
}
.page-template-page_lineup main .check_list li::before {
  content: "";
  background: url(../images/common/icon_check.svg) no-repeat 0 50%;
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  position: relative;
  top: 7px;
}
.page-template-page_lineup main .check_list li span {
  width: calc(100% - 30px);
}
.page-template-page_lineup main .Sec01_area .txt_area {
  margin-bottom: 100px;
}
.page-template-page_lineup main .Sec01_area .txt_area dl {
  margin-bottom: 33px;
}
.page-template-page_lineup main .Sec01_area .txt_area dl.end {
  margin-bottom: 30px;
}
.page-template-page_lineup main .Sec01_area .txt_area .txt {
  margin-bottom: 40px;
}
.page-template-page_lineup main .Sec01_area .ph_area dt {
  font-weight: 700;
  margin-bottom: 20px;
}
.page-template-page_lineup main .Sec01_area .ph_area ul {
  display: flex;
  max-width: 1189px;
}
.page-template-page_lineup main .Sec01_area .ph_area ul li {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 30px;
}
.page-template-page_lineup main .Sec01_area .ph_area ul li:nth-child(3n) {
  margin-right: 0;
}
.page-template-page_lineup main .Sec01_area .ph_area ul li img {
  width: 100%;
  height: auto;
}
.page-template-page_lineup main .Sec02_area dt {
  margin-bottom: 20px;
}
.page-template-page_lineup main .Sec02_area dl {
  margin-bottom: 35px;
}
.page-template-page_lineup main .Sec02_area .txt {
  margin-bottom: 20px;
}
.page-template-page_lineup main .Sec02_area .ph_box {
  border: none;
  margin-bottom: 20px;
  padding-bottom: 0;
}
.page-template-page_lineup main .Sec03_area {
  margin-bottom: 0;
}
.page-template-page_lineup main .Sec03_area .ph_box {
  display: flex;
  max-width: 1189px;
}
.page-template-page_lineup main .Sec03_area .ph_box dl {
  width: 32%;
  margin-right: 2%;
}
.page-template-page_lineup main .Sec03_area .ph_box dl:nth-child(3n) {
  margin-right: 0;
}
.page-template-page_lineup main .Sec03_area .ph_box dl dt {
  text-align: center;
  margin-bottom: 20px;
  font-weight: 700;
}
.page-template-page_lineup main .Sec03_area .ph_box dl img {
  width: 100%;
  height: auto;
}

/*==================================
    page-template-page_faq
==================================*/
.page-template-page_faq main .k_Main_area {
  background: url(../images/faq/main_bg.jpg) no-repeat center 50%;
  background-size: cover;
  width: 100%;
}
.page-template-page_faq main .Faq_area .box {
  background: #F2F8FB;
  padding: 35px 31px;
  margin-bottom: 50px;
}
.page-template-page_faq main .Faq_area .box:last-child {
  margin-bottom: 100px;
}
.page-template-page_faq main .Faq_area dl {
  position: relative;
}
.page-template-page_faq main .Faq_area dl dt {
  position: relative;
  padding-left: 60px;
  font-size: 30px;
  line-height: 44px;
  color: #007EA7;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 30px;
}
.page-template-page_faq main .Faq_area dl dt::before {
  content: "";
  position: relative;
  background: url(../images/faq/icon_q.svg) no-repeat center 50%;
  background-size: 50px auto;
  width: 50px;
  height: 50px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.page-template-page_faq main .Faq_area dl dd {
  position: relative;
  padding-left: 60px;
  font-size: 20px;
  line-height: 36px;
}
.page-template-page_faq main .Faq_area dl dd::before {
  content: "";
  position: relative;
  background: url(../images/faq/icon_a.svg) no-repeat center 50%;
  background-size: 50px auto;
  width: 50px;
  height: 50px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

/*==================================
    page-template-page_privacypolicy
==================================*/
.page-template-page_privacypolicy main .k_Main_area {
  background: url(../images/common/k_main_bg.jpg) no-repeat center 50%;
  background-size: cover;
  width: 100%;
}
.page-template-page_privacypolicy main .lead.Wrap {
  margin-bottom: 60px;
  max-width: 1597px !important;
}
.page-template-page_privacypolicy main .Wrap {
  max-width: 1325px;
}
.page-template-page_privacypolicy main .Privacy_area .box {
  margin-bottom: 50px;
}
.page-template-page_privacypolicy main .Privacy_area .box ul {
  margin: 20px 0 0 130px;
}
.page-template-page_privacypolicy main .Privacy_area .box ul li {
  list-style: disc;
}