@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");

/*--------------------------------------------------------------------------------------------------

   common

--------------------------------------------------------------------------------------------------*/

/*reset-------------------------------------------------*/
body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: none;
  vertical-align: top;
  -webkit-backface-visibility: hidden;
}

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

/*-------------------------------------------------reset*/

/*common-------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  color: #000;
  font-size: 15px;
  font-family:
    -apple-system, BlinkMacSystemFont, "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo,
    sans-serif;
  line-height: 1.2;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}

a {
  text-decoration: none;
  cursor: pointer;
  display: block;
  color: #174fa3;
}

ul,
li {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

address {
  font-style: normal;
}

.clear:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clear {
  display: inline-table;
}

/* mac \*/
* html .clear {
  height: 1%;
}

.clear {
  display: block;
}

h1,
h2,
h3 {
  text-align: left !important;
}

.alignleft {
  float: left;
  margin: 0 20px 20px 0;
}

.alignright {
  float: right;
  margin: 0 0 20px 20px;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

/*-------------------------------------------------common*/

/*--------------------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------------------*/
header .logo {
  padding: 28px 0 21px 0;
}

header span {
  margin-left: 25px;
  padding-top: 28px;
  line-height: 37px;
}

nav {
  width: 100%;
  background: #174fa3;
  padding: 15px 0;
}

nav li {
  width: 142px;
  height: 32px;
  float: left;
  text-align: center;
  background: url(../image/line-menu.png) no-repeat left top;
}

nav li.right-line {
  background:
    url(../image/line-menu.png) no-repeat left top,
    url(../image/line-menu.png) no-repeat right top;
}

nav li a {
  color: #fff;
  line-height: 32px;
}
/*------------------------------------------------------------------------------------------------
  menu
--------------------------------------------------------------------------------------------------*/
.submenu {
  position: absolute;
  display: none;
  margin: 0;
  padding: 12px 0 0;
  z-index: 100;
}

.submenu li {
  float: none;
  width: auto;
  height: auto;
  background: transparent;
  border: 1px solid #fff;
  margin: -1px 0 0;
}

.submenu li a {
  display: block;
  width: 166px;
  padding: 12px 5px;
  line-height: 1;
  background-color: #2557ab;
}
@media screen and (min-width: 768px) {
  .submenu li a:hover,
  .submenu li a:active {
    background-color: #fff;
    color: #2557ab;
  }
}

/*------------------------------------------------------------------------------------------------
  banner
--------------------------------------------------------------------------------------------------*/
.banner img {
  width: 100%;
}

/*------------------------------------------------------------------------------------------------
  content
--------------------------------------------------------------------------------------------------*/
.container {
  width: 1000px;
  margin: 0 auto;
}

.container-fluid {
  width: 100%;
  margin: 0 auto;
}

.fl-left {
  float: left;
}

.fl-right {
  float: right;
}

.fl-none {
  float: none;
}

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

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

.font-blue {
  color: #2557ab;
}

h1 {
  margin: 30px 0;
  padding: 8px;
  font-size: 26px;
  background-color: #174fa3;
  color: #fff;
  text-align: left;
}

h1 span {
  padding-top: 5px;
  font-size: 16px;
  display: block;
  text-transform: uppercase;
}

h2 {
  width: 600px;
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 35px;
}
/*------------------------------------------------------------------------------------------------
  footer
--------------------------------------------------------------------------------------------------*/
.ptop {
  display: block !important;
  background: #e5e5e5;
  width: 100%;
  height: 77px;
  cursor: pointer;
  text-align: center;
  padding-top: 33px;
}

footer {
  background: #174fa3;
  width: 100%;
  padding: 37px 0 25px 0;
  color: #fff;
}

footer .logo {
  margin-top: 6px;
  margin-bottom: 15px;
  margin-right: 30px;
  display: block;
}

footer address {
  display: inline-block;
  font-style: normal;
  line-height: 20px;
  padding-left: 37px;
  padding-right: 26px;
  background: url(../image/line-footer.png) no-repeat left center;
  text-align: left;
}

footer .line-after {
  padding-right: 37px;
  background:
    url(../image/line-footer.png) no-repeat left center,
    url(../image/line-footer.png) no-repeat right center;
}

footer .coppy {
  font-size: 12px;
  margin-top: 27px;
  margin-right: 20px;
  text-align: right;
  text-transform: uppercase;
}

.fadrs {
  margin: 20px auto 0;
  text-align: center;
}

.fpolicy {
  padding: 18px 0 0 20px;
}

.fpolicy a {
  display: inline;
  color: #fff;
}

.fpolicy a:hover,
.fpolicy a:active {
  text-decoration: underline;
}

.qr {
  float: right;
}

/*------------------------------------------------------------------------------------------------
  second
--------------------------------------------------------------------------------------------------*/
#second p {
  margin: 0 0 30px;
  line-height: 1.6;
}

.btn {
  margin: 0 0 60px;
  text-align: center;
}

.btn a {
  width: 230px;
  line-height: 58px;
  margin: 40px auto 105px auto;
  text-align: center;
  border: 2px solid #1b4fa7;
  background: url(../image/bg-bt-link.png) no-repeat right 14px center;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  color: #2557ab;
}

.btn a:hover,
.btn a:active {
  background: url(../image/bg-bt-link-02.png) #1b4fa7 no-repeat right 14px
    center;
  color: #fff;
}

/*------------------------------------------------------------------------------------------------
  pager_wrap
--------------------------------------------------------------------------------------------------*/

.pager_wrap {
  position: relative;
  overflow: hidden;
  margin: 20px 0 60px;
}

.pager_wrap ul.pager {
  position: relative;
  left: 50%;
  float: left;
}

.pager_wrap ul.pager li {
  position: relative;
  left: -50%;
  float: left;
}

.pager_wrap ul.pager {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pager_wrap ul.pager li {
  display: inline;
  min-width: 20px;
  margin: 2px;
  padding: 0;
  background-color: #dedede;
  text-align: center;
}

.pager_wrap ul.pager li a {
  display: block;
  padding: 10px 15px;
  color: #000 !important;
  background-image: none;
  margin-bottom: 0;
}

.pager_wrap ul.pager li.active {
  background-color: #8ba7d1;
  display: block;
  padding: 10px 15px;
  color: #ffffff;
}

.pager_wrap ul.pager li.active a:link,
.pager_wrap ul.pager li.active a:visited,
.pager_wrap ul.pager li.active a:hover,
.pager_wrap ul.pager li.active a:active {
  color: #ffffff !important;
}

/* お問い合わせ 確認画面 [2026] ---------------------------------*/
/* お問い合わせ 確認画面 [2026] ---------------------------------*/
.wpcf7-form:not(.is-confirm) .wpcf7c-elm-step2,
.wpcf7-form.is-confirm .wpcf7c-elm-step1 {
  display: none !important;
}

.wpcf7-form.is-confirm .wpcf7c-elm-step2 {
  display: revert !important;
}

/* エラーメッセージは行の下にまとめて表示 */
.inquiryForm td > .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
}

.inquiryForm .confirm-original {
  display: none;
}

.inquiryForm .confirm-text {
  display: inline-block;
  padding: 7px 0;
  white-space: pre-wrap;
  word-break: break-all;
}

.wpcf7-form:not(.is-complete) .wpcf7c-elm-step3 {
  display: none !important;
}
.wpcf7-form.is-complete > *:not(.wpcf7c-elm-step3) {
  display: none !important;
}

.wpcf7c-elm-step3 {
  margin-bottom: 100px;
  text-align: center;
}

.wpcf7c-elm-step3 .c-btn1 {
  margin-top: 40px;
}

.c-btn1 {
  width: 230px;
  line-height: 58px;
  margin: 0 auto;
  text-align: center;
  border: 2px solid #1b4fa7;
  background: url(../image/bg-bt-link.png) #fff no-repeat right 14px center;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c-btn1:hover,
.c-btn1:active {
  background: url(../image/bg-bt-link-02.png) #1b4fa7 no-repeat right 14px
    center;
  color: #fff;
}
