@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);
  /* 元の位置に戻る */
}

.pc {
  display: none !important;
}

body {
  background: #fff;
  position: relative;
}
body::before {
  content: "";
  display: block;
  background: url(../images/top/main_bg.png) no-repeat center 50%;
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

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

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

/* header
==================================*/
main {
  margin-top: 63px;
}

header {
  padding-top: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 500;
  height: 63px;
}
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;
}
header .nav_area {
  display: flex;
  flex-direction: column;
  /* 縦に配置 */
  background: url(../../images/common/nav_figure.png) no-repeat right bottom #007EA7;
  background-size: 140px 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 .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%);
}

.hamburger {
  width: 30px;
  height: 35px;
  border-radius: 50%;
  position: absolute;
  top: 13px;
  right: 0;
  z-index: 8888;
  transition: 0.3s;
}
.hamburger span {
  width: 25px;
  height: 1px;
  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 span.b01 {
  top: 24px;
  background: #fff;
  transform: rotate(-45deg);
  height: 1px;
}

.hamburger.active span.b02,
.hamburger.active span.b03 {
  height: 1px;
  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: 84px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 30px;
}
.k_Main_area .inner {
  width: 100%;
}
.k_Main_area .Title {
  text-align: center;
  color: #fff;
  font-size: 24px;
  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: 30px;
  font-size: 26px;
  line-height: 1.6;
  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: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.3;
}
.tl_border::before {
  content: "";
  width: 7px;
  height: 30px;
  border-radius: 6px;
  background: #007EA7;
  margin-right: 8px;
}

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

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

.Btn a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  width: 200px;
  height: 55px;
  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%);
}

.c_Btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 50px;
  background: #007EA7;
  border-radius: 70px;
  position: relative;
  font-weight: bold;
  color: #fff;
  font-weight: 700;
  margin-top: 20px;
  font-size: 16px;
}
.c_Btn a::before {
  content: "";
  background: url(../../images/common/icon_mail.svg) no-repeat center 50%;
  background-size: 20px auto;
  display: block;
  width: 20px;
  height: 16px;
  margin-right: 5px;
}

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

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

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

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

/* footer
==================================*/
.Contact_area {
  background: url(../../images/common/bg_contact.jpg) no-repeat center 0;
  background-size: cover;
  padding: 60px 0 50px;
  margin-top: 50px;
}
.Contact_area .Title {
  text-align: center;
  width: 233.75px;
  margin: 0 auto;
}
.Contact_area .Title img {
  width: 100%;
  height: auto;
}
.Contact_area .Title small {
  font-size: 26px;
  color: #fff;
  text-align: center;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  display: block;
  margin-top: 34px;
}
.Contact_area .txt {
  color: #fff;
  text-align: center;
  margin-top: 34px;
  margin-bottom: 34px;
  font-size: 16px;
  line-height: 26px;
}
.Contact_area .contact_btn_area {
  margin: 0 auto;
}
.Contact_area .contact_btn_area li {
  margin-bottom: 30px;
}
.Contact_area .contact_btn_area li:nth-child(2) {
  margin-bottom: 0;
}
.Contact_area .contact_btn_area a {
  background: #317EA6;
  display: block;
  height: 122px;
  border-radius: 20px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  position: relative;
  padding-bottom: 44px;
  width: 280px;
  text-align: center;
  padding-top: 18px;
  margin: 0 auto;
}
.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: 24px;
  left: 50%;
  margin-left: -25px;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(45deg) brightness(103%) contrast(102%);
}
.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: 24px;
  left: 50%;
  margin-left: -21px;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(45deg) brightness(103%) contrast(102%);
}

footer {
  padding: 50px 0;
}
footer .Wrap {
  position: relative;
  margin: 0 auto;
}
footer .Wrap ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 0;
}
footer .Wrap ul li {
  width: 48%;
  margin-bottom: 20px;
}
footer .Wrap ul a {
  font-size: clamp(12px, 3.7333vw, 14px);
  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 .c_Btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 161px;
  height: 31px;
  background: #007EA7;
  border-radius: 30px;
  position: relative;
  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;
}
footer .Wrap .c_Btn a::before {
  content: "";
  background: url(../../images/common/icon_mail.svg) no-repeat center 50%;
  background-size: 20px auto;
  display: block;
  width: 20px;
  height: 16px;
  margin-right: 5px;
}
footer .Wrap .bottom_box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  margin-top: 30px;
}
footer .Wrap .copy {
  text-align: center;
  padding-top: 20px;
  border-top: solid 1px #DDDDDD;
  width: 100%;
}

/*==========================================
  Layout
==========================================*/
/*==================================
  Top
==================================*/
.home {
  margin: 0;
  position: relative;
}
.home .Main_area {
  margin-top: 8.799vw;
  margin-bottom: 35px;
}
.home .Main_area .txt01 {
  color: #007EA7;
  font-size: clamp(26px, 1.5625vw, 30px);
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
}
.home .Main_area .Eng {
  margin: 0 15px;
}
.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: 47.333vw;
  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) 40%, rgb(143, 211, 220) 70%, rgb(175, 224, 230));
  width: 100%;
  height: 47.333vw;
  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: 47.333vw;
  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 .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(22px, 6.4vw, 24px);
  text-shadow: 2px 3px 10px rgba(0, 0, 0, 0.8);
  margin-bottom: 10px;
}
.home .Main_area .tl strong {
  font-size: clamp(26px, 8vw, 30px);
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  color: #fff;
}
.home .Main_area .tl small {
  font-size: clamp(18px, 5.3333vw, 20px);
  font-weight: 600;
  font-family: "游明朝体", "Yu Mincho", "MS P明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN" !important;
  color: #fff;
  display: block;
  margin-bottom: 0;
}
.home .Main_area .txt01 {
  text-align: center;
  font-size: 16px;
  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: 9.6vw;
}
.home .Main_area .txt01::before {
  content: "";
  background: #fff;
  width: 20px;
  height: 1px;
  margin-right: 10px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.8);
}
.home .Main_area .txt01::after {
  content: "";
  background: #fff;
  width: 20px;
  height: 1px;
  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 0;
  text-align: center;
}
.home .Main_area .Eng img {
  width: 100%;
  height: auto;
}
.home .Main_area .tl02 {
  color: #007EA7;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}
.home .Main_area .txt02 {
  font-size: 14px;
  line-height: 20px;
  max-width: 1053px;
  margin: 0 20px;
  font-weight: 500;
}
.home .Main_area .txt_area {
  position: relative;
  z-index: 1;
}
.home .Main_area .txt_area figure img {
  width: 100%;
  height: auto;
}
.home .Main_area .txt_area .figure01 {
  position: absolute;
  top: -50px;
  left: 0;
  width: 58px;
}
.home .Main_area .txt_area .sp_figure02 {
  position: relative;
  height: 1em;
  display: block;
  z-index: -1;
}
.home .Main_area .txt_area .sp_figure02 small {
  position: absolute;
  right: -16px;
  top: -66px;
  width: 54px;
  display: block;
}
.home .Main_area .txt_area .sp_figure02 small img {
  width: 100%;
  height: auto;
}
.home .Slide_area {
  margin-bottom: 44px;
}
.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: 40vw;
  padding: 0 8px;
  box-sizing: border-box;
  /* 3はスライドの枚数 */
}
.home .Slide_area .Slide_box .slide:nth-child(2n) {
  padding-top: 5.295vw;
}
.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: 35px;
}
.home .Column_area .Title {
  background: url(../../images/top/tl_column02.svg) no-repeat center 50%;
  background-size: 100% auto;
  width: 98%;
  max-width: 366.86px;
  height: 17.09vw;
  margin: 0 auto;
  position: relative;
  margin-bottom: 73px;
}
.home .Column_area .Title span {
  width: 215.8px;
  height: 37.7px;
  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: 21.818vw;
  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 dt {
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
}
.home .Column_area .txt_area dd {
  font-size: 16px;
  line-height: 26px;
  text-align: center;
  margin: 0 20px 50px;
}
.home .Column_area .column_box {
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 50px;
}
.home .Column_area .column_box .column_a {
  background: #fff;
  display: block;
  padding: 20px;
  margin-bottom: 20px;
}
.home .Column_area .column_box .column_a:nth-child(3n) {
  margin-bottom: 0;
}
.home .Column_area .column_box .column_a .tl {
  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 .Contents_area {
  padding: 50px 0 20px;
  position: relative;
}
.home .Contents_area::before {
  content: "";
  background: url(../../images/common/bg_naname_sp.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: 0 auto 56px;
  width: 246.35px;
}
.home .Contents_area .Title img {
  width: 100%;
  height: auto;
}
.home .Contents_area .box {
  margin-bottom: 76px;
}
.home .Contents_area .box .ph {
  width: 80%;
}
.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 {
  padding: 8.533vw 20px 0;
  position: relative;
}
.home .Contents_area .box .txt_box figure {
  position: relative;
  top: 0;
  z-index: -1;
  right: -15px;
  text-align: right;
}
.home .Contents_area .box .txt_box figure img {
  width: 80%;
  height: auto;
}
.home .Contents_area .box .txt_box .Btn a {
  margin: 10.66vw 0 0;
}
.home .Contents_area .box .txt_box .tl {
  font-size: 10.666vw;
  line-height: 14.933vw;
  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: 1.46666;
  font-size: clamp(26px, 8vw, 30px);
  color: #007EA7;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}
.home .Contents_area .box .txt_box .txt {
  font-size: 14px;
  line-height: 20px;
}
.home .Contents_area .box02 {
  flex-direction: row-reverse;
}
.home .Contents_area .box02 .ph {
  width: 80%;
  left: 20%;
  position: relative;
}
.home .Contents_area .box03 {
  margin-bottom: 0;
}
.home .Contents_area .box02 .txt_box .tl,
.home .Contents_area .box03 .txt_box .tl {
  margin-bottom: 1.56vw;
}
.home .Faq_area {
  position: relative;
  padding: 28.2666vw 0 0;
}
.home .Faq_area .Title img {
  width: 94.6px;
  height: auto;
}
.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: 68.666vw;
  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: 68.666vw;
  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: 30vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  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: 50px;
}
.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 {
  font-size: 16px;
  text-align: center;
  line-height: 34px;
  margin: 50px 20px 30px;
}

/*==================================
  column 詳細
==================================*/
.post-type-archive-column main .column_a,
body.single-column main .column_a {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.post-type-archive-column main .column_a .ph,
body.single-column main .column_a .ph {
  width: 100px;
  height: 100px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.post-type-archive-column main .column_a .ph img,
body.single-column main .column_a .ph img {
  width: 100%;
  height: auto;
}
.post-type-archive-column main .column_a ul.txt_area,
body.single-column main .column_a ul.txt_area {
  width: calc(100% - 117px);
}
.post-type-archive-column main .column_a ul.txt_area .day_box,
body.single-column main .column_a ul.txt_area .day_box {
  margin-bottom: 10px;
}
.post-type-archive-column main .column_a ul.txt_area .day_box .day,
body.single-column main .column_a ul.txt_area .day_box .day {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 10px;
  display: block;
}
.post-type-archive-column main .column_a ul.txt_area .day_box .tag,
body.single-column main .column_a ul.txt_area .day_box .tag {
  font-size: 13px;
  line-height: 1;
  color: #fff;
  background: #007EA7;
  padding: 2px 5px;
  margin-right: 5px;
}
.post-type-archive-column main .column_a ul.txt_area .tl,
body.single-column main .column_a ul.txt_area .tl {
  font-size: 16px;
  line-height: 26px;
}
.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 .tag_area a,
body.single-column main .Side_area .tag_area a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  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 0 50%;
  background-size: auto 16px;
  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 94% 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: 23px;
  margin-bottom: 40px;
  text-align: left;
  line-height: 1.5;
}
.post-type-archive-column main .main_box .title02,
body.single-column main .main_box .title02 {
  background: #F8F9FA;
  font-size: 20px;
  font-weight: 700;
  padding: 20px;
  margin-bottom: 20px;
}
.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;
  flex-wrap: wrap;
  margin: 70px auto;
}
.post-type-archive-column main .main_box .archive_pager .pager,
body.single-column main .main_box .archive_pager .pager {
  display: flex;
  flex-wrap: wrap;
}
.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: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2.5px 20px 0;
}
.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: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2.5px 20px 0;
}
.post-type-archive-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).current {
  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: 10px;
  background: url(../../images/common/arrow_left.svg) no-repeat center 50%;
  background-size: 14px auto;
  width: 43px;
  height: 43px;
  display: block;
  margin-right: 10px;
  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: 10px;
  background: url(../../images/common/arrow_right.svg) no-repeat center 50%;
  background-size: 14px auto;
  width: 27px;
  height: 7px;
  display: block;
  margin-left: 10px;
  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 .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: 15px;
  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: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.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 {
  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: 14px;
  line-height: 1;
  margin-bottom: 10px;
  display: block;
}
.post-type-archive-column .column-single .main_box .day_box .tag,
body.single-column .column-single .main_box .day_box .tag {
  font-size: 13px;
  line-height: 1;
  color: #fff;
  background: #007EA7;
  padding: 2px 5px;
  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: 20px 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: 20px;
  line-height: 1.4;
  font-weight: 700;
  border-bottom: solid 2px #333333;
  margin-bottom: 10px;
  padding-bottom: 10px;
  margin-top: 30px;
}
.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: 18px;
  line-height: 1.4;
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 20px;
  background: #D9ECF2;
  border-radius: 5px;
  padding: 15px 15px;
}
.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 .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 {
  padding: 20px 20px 25px;
  border: solid 1px #333333;
  border-radius: 10px;
  justify-content: space-between;
  max-width: 915px;
  margin: 0 auto 50px;
}
.post-type-archive-column .column-single .main_box .Sns_share .sns_tl,
body.single-column .column-single .main_box .Sns_share .sns_tl {
  margin-bottom: 30px;
  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;
  justify-content: space-between;
  margin: 0 auto !important;
  max-width: 200px;
}
.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.333333%;
  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: 30px;
  margin: 0 auto;
  height: 30px;
  transition: 0.3s;
}
.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: 30px;
  margin-bottom: 50px;
  justify-content: center;
}
.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: 20px !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: 20px !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: 20px;
  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: 18px;
  text-decoration: underline;
}

/*==================================
    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;
}
.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: 40px;
  height: 23px;
  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: 25px;
  font-size: 20px;
  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: 18px auto;
  width: 18px;
  height: 18px;
  display: block;
  margin-left: 5px;
}
.page-template-page_contact main .Form_box dl {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: solid 1px #DDDDDD;
}
.page-template-page_contact main .Form_box dl dt {
  position: relative;
  z-index: 2;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 16px;
}
.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 .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: 280px;
  background-color: #007EA7;
  height: 60px;
  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 .wpcf7-response-output {
  border-color: #B53D48;
}
.page-template-page_contact main .wpcf7-list-item-label {
  font-size: 16px;
  font-weight: 400;
}
.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: 8px 15px;
  background: #fff;
  border-radius: 3px;
  font-size: 16px;
  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
==================================*/
.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 .Message_area .lead,
.page-template-page_knowledge main .Message_area .lead {
  margin-bottom: 50px;
}
main.k_temp .Message_area .index_box,
.page-template-page_knowledge main .Message_area .index_box {
  background: #F8F9FA;
  border-top: solid 5px #007EA7;
  padding: 30px 20px;
  margin-bottom: 50px;
}
main.k_temp .Message_area .index_box dt,
.page-template-page_knowledge main .Message_area .index_box dt {
  text-align: center;
  margin-bottom: 30px;
}
main.k_temp .Message_area .index_box dd ul,
.page-template-page_knowledge main .Message_area .index_box dd ul {
  padding: 0 0;
}
main.k_temp .Message_area .index_box dd li,
.page-template-page_knowledge main .Message_area .index_box dd li {
  font-size: 18px;
  margin-bottom: 15px;
  display: flex;
}
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: 16px;
  padding-left: 5px;
}
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: 278px auto;
  padding-bottom: 23px;
  color: #007EA7;
  font-size: 22px;
  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 .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: 25px;
}
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: 45px;
}
main.k_temp .lead,
.page-template-page_knowledge main .lead {
  margin-bottom: 40px;
}
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: 18px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: underline;
}
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 .table_wrap,
.page-template-page_knowledge main .table_area .table_wrap {
  overflow: auto;
}
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: 4px 8px;
  background: #fff;
  white-space: nowrap;
}
main.k_temp .table_area td,
.page-template-page_knowledge main .table_area td {
  font-weight: 500;
}
main.k_temp .table_area .th01,
.page-template-page_knowledge main .table_area .th01 {
  background: #007EA7;
  text-align: center;
  color: #fff;
}
main.k_temp .table_area .th02,
.page-template-page_knowledge main .table_area .th02 {
  background: #D7E8EF;
}
main.k_temp .table_area .center,
.page-template-page_knowledge main .table_area .center {
  text-align: center;
}
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;
}
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: 25px;
  margin-bottom: 25px;
}
main.k_temp .ph_box,
.page-template-page_knowledge main .ph_box {
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
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 {
  line-height: 0.1px;
  font-size: 0.1px;
  margin-bottom: 10px;
}
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 dl:not(:last-child),
.page-template-page_knowledge main .ph_box .r_box dl:not(:last-child) {
  margin-bottom: 30px;
}

/*==================================
    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;
}
.page-template-page_technology main .Sec09_area {
  margin-bottom: 0;
}
.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: 60px;
}
.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: 60px;
}
.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;
}
.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 .mb100 {
  margin-bottom: 60px !important;
}
.page-template-page_lineup main .mb30 {
  margin-bottom: 30px !important;
}
.page-template-page_lineup main .red {
  color: #FF0000;
  margin-top: 10px;
}
.page-template-page_lineup main .check_list_area dl {
  margin-bottom: 20px;
}
.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: 30px;
}
.page-template-page_lineup main .Sec01_area .txt_area dl {
  margin-bottom: 20px;
}
.page-template-page_lineup main .Sec01_area .txt_area dl.end {
  margin-bottom: 15px;
}
.page-template-page_lineup main .Sec01_area .txt_area .txt {
  margin-bottom: 20px;
}
.page-template-page_lineup main .Sec01_area .ph_area dt {
  font-weight: 700;
  margin-bottom: 10px;
}
.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: 10px;
}
.page-template-page_lineup main .Sec02_area dl {
  margin-bottom: 25px;
}
.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 .Wrap {
  padding: 0;
}
.page-template-page_faq main .Faq_area .box {
  background: #F2F8FB;
  padding: 20px 15px;
  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: 40px;
  font-size: 18px;
  line-height: 26px;
  color: #007EA7;
  font-weight: 500;
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 20px;
}
.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: 30px auto;
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.page-template-page_faq main .Faq_area dl dd {
  position: relative;
  padding-left: 40px;
}
.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: 30px auto;
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

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