@charset "utf-8";

/*
 * ヘッダー、フッターなどのサイトの基本部分用スタイルシート
 */

html {
  font-size: 10px;
}

body {
  font-size: 20px;
  font-weight: 500;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #333;
  line-height: 1.8;
  font-feature-settings: "palt";
}

.wrapper {
  margin-right: auto;
  margin-left: auto;
  max-width: 2000px;
  min-width: 1000px;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  line-height: 1.4;
}

a {
  color: inherit;
}

iframe {
  max-width: 100%;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  padding: 10px;
  width: 100%;
  font-size: 18px;
  font-family: inherit;
  border: solid 1px #ccc;
  border-radius: 6px;
  background: #f9f9f9;
  box-shadow: 0 0 6px rgba(0,0,0,0.06) inset;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
  background: #fff;
}

input[type="submit"] {
  display: table;
  margin-right: auto;
  margin-left: auto;
  padding: 10px 20px;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  background: #004F92;
  border: none;
  border-radius: 3px;
}

/* header */

.header-contact > li {
  margin-right: 15px;
  padding-right: 15px;
  border-right: solid 1px #32326E;
}

.header-contact > li:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}

.header-navigation {
  background: #000000;
}

.header-navigation-list {
  display: flex;
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
  max-width: 1320px;
}

.header-navigation-list li {
  flex-grow: 1;
}

.header-navigation-list li a {
  display: block;
  text-align: center;
  color: #fff;
  border-left: solid 1px #fff;
}

.header-navigation-list li:last-child a {
  border-right: solid 1px #fff;
}

.sp-menu-open {
  display: none;
}

/* footer */

.footer-to-top {
  position: fixed;
  right: 3%;
  bottom: 6%;
  z-index: 10;
  opacity: 0;
  transition-duration: 0.3s;
}

.footer-to-top.active {
  opacity: 1;
}

.footer-to-top a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 5px;
  width: 90px;
  height: 90px;
  color: #fff;
  font-size: 25px;
  letter-spacing: 0.06em;
  text-decoration: none;
  background: #0852A0;
  border-radius: 8px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}

.footer-to-top a:before {
  content: '';
  display: block;
  margin-bottom: 6px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 20px 23px 20px;
  border-color: transparent transparent #fff transparent;
}

.footer-map iframe {
  width: 100%;
  height: 480px;
}

.footer-logo {
  max-width: 320px;
}

.footer-info {
  flex-shrink: 1;
  max-width: 1040px;
}

.footer-contact > li {
  margin-right: 15px;
  padding-right: 15px;
  border-right: solid 1px #32326E;
}

.footer-contact > li:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}

.footer-copyright {
  padding: 5px;
  color: #fff;
  text-align: center;
  background: #000;
}

/**/

.list-check {
  padding-top: 10px;
  padding-bottom: 10px;
}

.list-check li {
  margin-bottom: 10px;
  padding-left: 1.6em;
  background: 0 0.4em url(../images/check_icon_1.svg) no-repeat;
  background-size: 1.2em;
}

.list-check li:last-child {
  margin-bottom: 0;
}

.list-indent li {
  text-indent: -1em;
  padding-left: 1em;
}

.link-more a,
a.link-more,
a .link-more {
  display: inline-block;
  position: relative;
  padding: 0.4em 4.2em 0.4em 2.6em;
  text-align: center;
  color: #fff;
  background: #C67B93 top 50% right 24px url(../images/bt_arrow.png) no-repeat;
  transition: 0.1s;
}

.link-more a:hover,
a.link-more:hover,
a .link-more:hover {
  background-color: rgba(0, 0, 0, 0.06);
}

a.link-more.mod-max,
a .link-more.mod-max {
  width: 100%;
}

table.ta-c th,
table.ta-c td {
  text-align: center;
}

table.va-c th,
table.va-c td,
table th.va-c,
table td.va-c {
  vertical-align: middle;
}

table.table-fill {
  width: 100%;
}

table.table-fill th,
table.table-fill td {
  padding: 12px 16px;
  vertical-align: middle;
  background: #fff;
  border: solid 1px #ADADAD;
}

table.table-fill th {
  background: #EDEDED;
  border: solid 1px #A7A7A7;
}

table.table-fill thead th {
  padding: 12px;
  font-size: 20px;
  font-weight: 800;
}

table.table-fill.mod-blue th {
  color: #fff;
  font-weight: bold;
  background: #0852A0;
  border: solid 1px #A7A7A7;
}

table.table-fill td.highlight {
  font-weight: bold;
  background: #FFFFBE;
}

table.table-border {
  width: 100%;
}

table.table-border th,
table.table-border td {
  padding: 20px;
  border-bottom: dashed 1px #B9B9B9;
}

table.table-border th {
  vertical-align: middle;
}

table.table-border.mod-pd-40 th,
table.table-border.mod-pd-40 td {
  padding-top: 40px;
  padding-bottom: 40px;
}

hr.dotted {
  display: block;
  height: 0;
  border: none;
  border-bottom: dotted #1C1475 1px;
}

hr.solid {
  display: block;
  height: 0;
  border: none;
  border-bottom: solid #1C1475 1px;
}

.grecaptcha-badge {
  visibility: hidden;
}