@charset "utf-8";

/*
 * よく使うパーツ用スタイルシート float
 */

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;
}

p {
  margin-bottom: 1.5em;
}

* > p:last-child {
  margin-bottom: 0;
}

.nallow {
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
  max-width: 1120px;
}

.nallow-600 , body.page .nallow.nallow-600  { max-width: 620px; }
.nallow-700 , body.page .nallow.nallow-700  { max-width: 720px; }
.nallow-800 , body.page .nallow.nallow-800  { max-width: 820px; }
.nallow-900 , body.page .nallow.nallow-900  { max-width: 920px; }
.nallow-1000, body.page .nallow.nallow-1000 { max-width: 1020px; }
.nallow-1100, body.page .nallow.nallow-1100 { max-width: 1120px; }
.nallow-1140, body.page .nallow.nallow-1140 { max-width: 1160px; }
.nallow-1200, body.page .nallow.nallow-1200 { max-width: 1220px; }
.nallow-1300, body.page .nallow.nallow-1300 { max-width: 1320px; }
.nallow-1400, body.page .nallow.nallow-1400 { max-width: 1420px; }
.nallow-1500, body.page .nallow.nallow-1500 { max-width: 1520px; }
.nallow-1600, body.page .nallow.nallow-1600 { max-width: 1620px; }
.nallow-1700, body.page .nallow.nallow-1700 { max-width: 1720px; }
.nallow-1800, body.page .nallow.nallow-1800 { max-width: 1820px; }

.inner {
  padding-right: 30px;
  padding-left: 30px;
}

.box-border { border: solid 1px #B7B7B7; }
.box-border.mod-bold { border-width: 2px; }
.box-border.mod-red { border-color: #B70400; }
.box-border.mod-blue { border-color: #193D70; }
.box-border.mod-pink { border-color: #E597C5; }
.box-border.mod-gold { border-color: #B78238; }
.box-border.mod-rad { border-radius: 8px; }
.box-fill { background: #fff; }
.box-fill.mod-grey { background: #F5F5F5; }
.box-fill.mod-beige { background: #faf5e2; }
.box-fill.mod-blue { background: #F4D5EB; }
.box-fill.mod-pink { background: #FFF7F5; }
.box-fill.mod-rad { border-radius: 8px; overflow: hidden; }
.box-fill.mod-shadow { box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1); }

.oflow {
  overflow: hidden;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
}

.ta-c {
  text-align: center;
}

.ta-c-pc {
  text-align: center;
}

.ta-r {
  text-align: right;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignright {
  float: right;
  display: inline;
  margin-left: 40px;
  max-width: calc(50% - 40px);
}

.alignleft {
  float: left;
  display: inline;
  margin-right: 40px;
  max-width: calc(50% - 40px);
}

.only-sp {
  display: none;
}

.flex-row {
  display: flex;
}

.flex-row.wrap { flex-wrap: wrap; }
.flex-row.jc-c { justify-content: center; }
.flex-row.jc-sb { justify-content: space-between; }
.flex-row.jc-fe { justify-content: flex-end; }
.flex-row.ai-c { align-items: center; }
.flex-row.ai-fe { align-items: flex-end; }

.flex-row.pad-5 {
  margin-right: -5px;
  margin-left: -5px;
}

.flex-row.pad-5 > * {
  margin-right: 5px;
  margin-left: 5px;
}

.flex-row.pad-10 {
  margin-right: -10px;
  margin-left: -10px;
}

.flex-row.pad-10 > * {
  margin-right: 10px;
  margin-left: 10px;
}

.flex-row.pad-20 {
  margin-right: -20px;
  margin-left: -20px;
}

.flex-row.pad-20 > * {
  margin-right: 20px;
  margin-left: 20px;
}

.flex-row.pad-30 {
  margin-right: -30px;
  margin-left: -30px;
}

.flex-row.pad-30 > * {
  margin-right: 30px;
  margin-left: 30px;
}

.flex-row.pad-40 {
  margin-right: -40px;
  margin-left: -40px;
}

.flex-row.pad-40 > * {
  margin-right: 40px;
  margin-left: 40px;
}

.flex-row.col-2,
.flex-row.col-3,
.flex-row.col-4,
.flex-row.col-5 {
  flex-wrap: wrap;
}

.flex-row.col-2 > * { flex-basis: calc(100% / 2); }
.flex-row.col-3 > * { flex-basis: calc(100% / 3); }
.flex-row.col-4 > * { flex-basis: calc(100% / 4); }
.flex-row.col-5 > * { flex-basis: calc(100% / 5); }
.flex-row.col-6 > * { flex-basis: calc(100% / 6); }

.flex-row.col-2.pad-5 > * { flex-basis: calc(100% / 2 - 10px); }
.flex-row.col-3.pad-5 > * { flex-basis: calc(100% / 3 - 10px); }
.flex-row.col-4.pad-5 > * { flex-basis: calc(100% / 4 - 10px); }
.flex-row.col-5.pad-5 > * { flex-basis: calc(100% / 5 - 10px); }
.flex-row.col-6.pad-5 > * { flex-basis: calc(100% / 6 - 10px); }

.flex-row.col-2.pad-10 > * { flex-basis: calc(100% / 2 - 20px); }
.flex-row.col-3.pad-10 > * { flex-basis: calc(100% / 3 - 20px); }
.flex-row.col-4.pad-10 > * { flex-basis: calc(100% / 4 - 20px); }
.flex-row.col-5.pad-10 > * { flex-basis: calc(100% / 5 - 20px); }
.flex-row.col-6.pad-10 > * { flex-basis: calc(100% / 6 - 20px); }

.flex-row.col-2.pad-20 > * { flex-basis: calc(100% / 2 - 40px); }
.flex-row.col-3.pad-20 > * { flex-basis: calc(100% / 3 - 40px); }
.flex-row.col-4.pad-20 > * { flex-basis: calc(100% / 4 - 40px); }
.flex-row.col-5.pad-20 > * { flex-basis: calc(100% / 5 - 40px); }
.flex-row.col-6.pad-20 > * { flex-basis: calc(100% / 6 - 40px); }

.flex-row.col-2.pad-30 > * { flex-basis: calc(100% / 2 - 60px); }
.flex-row.col-3.pad-30 > * { flex-basis: calc(100% / 3 - 60px); }
.flex-row.col-4.pad-30 > * { flex-basis: calc(100% / 4 - 60px); }
.flex-row.col-5.pad-30 > * { flex-basis: calc(100% / 5 - 60px); }
.flex-row.col-6.pad-30 > * { flex-basis: calc(100% / 6 - 60px); }

.flex-row.col-2.pad-40 > * { flex-basis: calc(100% / 2 - 80px); }
.flex-row.col-3.pad-40 > * { flex-basis: calc(100% / 3 - 80px); }
.flex-row.col-4.pad-40 > * { flex-basis: calc(100% / 4 - 80px); }
.flex-row.col-5.pad-40 > * { flex-basis: calc(100% / 5 - 80px); }
.flex-row.col-6.pad-40 > * { flex-basis: calc(100% / 6 - 80px); }

.flex-1 > * {
  flex: 1;
}

.row {
  overflow: hidden;
  margin-left: -15px;
  margin-right: -15px;
}

.row .col-x-1,
.row .col-x-2,
.row .col-x-3,
.row .col-x-4,
.row .col-x-5,
.row .col-x-6,
.row .col-x-7,
.row .col-x-8,
.row .col-x-9,
.row .col-x-10,
.row .col-x-11,
.row .col-x-12 {
  float: left;
  padding-right: 15px;
  padding-left: 15px;
  min-height: 1px;
  box-sizing: border-box;
}

.row .col-x-1 { width: 8.33333%; }
.row .col-x-2 { width: 16.66667%; }
.row .col-x-3 { width: 25%; }
.row .col-x-4 { width: 33.33333%; }
.row .col-x-5 { width: 41.66667%; }
.row .col-x-6 { width: 48%;; }
.row .col-x-7 { width: 58.33333%; }
.row .col-x-8 { width: 66.66667%; }
.row .col-x-9 { width: 75%; }
.row .col-x-10 { width: 83.33333%; }
.row .col-x-11 { width: 91.66667%; }
.row .col-x-12 { width: 100%; }

.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;
}

.pd-10 { padding: 10px; }
.pd-20 { padding: 20px; }
.pd-30 { padding: 30px; }
.pd-40 { padding: 40px; }
.pd-50 { padding: 50px; }
.pd-60 { padding: 60px; }

.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }
.mt-50 { margin-top: 50px; }
.mt-60 { margin-top: 60px; }
.mt-70 { margin-top: 70px; }
.mt-80 { margin-top: 80px; }
.mt-100 { margin-top: 100px; }
.mt-120 { margin-top: 120px; }
.mt-140 { margin-top: 140px; }

.mb-10, *.mb-10 { margin-bottom: 10px; }
.mb-20, *.mb-20 { margin-bottom: 20px; }
.mb-30, *.mb-30 { margin-bottom: 30px; }
.mb-40, *.mb-40 { margin-bottom: 40px; }
.mb-50, *.mb-50 { margin-bottom: 50px; }
.mb-60, *.mb-60 { margin-bottom: 60px; }
.mb-70, *.mb-70 { margin-bottom: 70px; }
.mb-80, *.mb-80 { margin-bottom: 80px; }
.mb-100, *.mb-100 { margin-bottom: 100px; }
.mb-120, *.mb-120 { margin-bottom: 120px; }
.mb-140, *.mb-140 { margin-bottom: 140px; }

.mr-0 { margin-right: 0px; }

.pt-10 { padding-top: 10px; }
.pt-20 { padding-top: 20px; }
.pt-30 { padding-top: 30px; }
.pt-40 { padding-top: 40px; }
.pt-50 { padding-top: 50px; }
.pt-60 { padding-top: 60px; }
.pt-70 { padding-top: 70px; }
.pt-80 { padding-top: 80px; }
.pt-100 { padding-top: 100px; }
.pt-120 { padding-top: 120px; }
.pt-140 { padding-top: 140px; }

.pb-0 { padding-bottom: 0px; }
.pb-10 { padding-bottom: 10px; }
.pb-20 { padding-bottom: 20px; }
.pb-30 { padding-bottom: 30px; }
.pb-40 { padding-bottom: 40px; }
.pb-50 { padding-bottom: 50px; }
.pb-60 { padding-bottom: 60px; }
.pb-70 { padding-bottom: 70px; }
.pb-80 { padding-bottom: 80px; }
.pb-100 { padding-bottom: 100px; }
.pb-120 { padding-bottom: 120px; }
.pb-140 { padding-bottom: 140px; }

.lh-12 { line-height: 1.2; }
.lh-14 { line-height: 1.4; }
.lh-16 { line-height: 1.6; }
.lh-18 { line-height: 1.8; }
.lh-20 { line-height: 2.0; }
.lh-22 { line-height: 2.2; }
.lh-24 { line-height: 2.4; }

.ls-4 { letter-spacing: 0.04em; }
.ls-6 { letter-spacing: 0.06em; }
.ls-8 { letter-spacing: 0.08em; }
.ls-10 { letter-spacing: 0.1em; }
.ls-16 { letter-spacing: 0.16em; }
.ls-m4 { letter-spacing: -0.04em; }
.ls-m6 { letter-spacing: -0.06em; }
.ls-m8 { letter-spacing: -0.08em; }
.ls-m10 { letter-spacing: -0.1em; }
.ls-m16 { letter-spacing: -0.16em; }

.tx-indent { padding-left: 1em; }

.fc-white { color: #fff; }
.fc-black { color: #000; }
.fc-gold { color: #B47E30; }
.fc-grey { color: #7A7A7A; }
.fc-grey-d { color: #3B3B3B; }
.fc-red { color: #960400; }
.fc-red-l { color: #F03540; }
.fc-pink { color: #D558B0; }
.fc-blue { color: #0852A0; }
.fc-blue-l { color: #3B79C4; }
.fc-blue-d { color: #03044D; }
.fc-green { color: #009FA5; }
.fc-yellow { color: #FFFF00; }
.fc-orange { color: #FF7E00; }
.fc-brown { color: #785F4F; }
.fc-brown-l { color: #715101; }
.fc-pueple { color: #42528D; }

.fw-normal { font-weight: 400; }
.fw-bold { font-weight: 800; }

.ff-serif { font-family: 'Noto Serif JP', serif; }

*.fs-12 { font-size: 12px;}
*.fs-14 { font-size: 14px;}
*.fs-16 { font-size: 16px;}
*.fs-18 { font-size: 18px;}
*.fs-20 { font-size: 20px;}
*.fs-22 { font-size: 22px;}
*.fs-24 { font-size: 24px;}
*.fs-26 { font-size: 26px;}
*.fs-28 { font-size: 28px;}
*.fs-30 { font-size: 30px;}
*.fs-32 { font-size: 32px;}
*.fs-34 { font-size: 34px;}
*.fs-36 { font-size: 36px;}
*.fs-38 { font-size: 38px;}
*.fs-40 { font-size: 40px;}
*.fs-42 { font-size: 42px;}
*.fs-44 { font-size: 44px;}
*.fs-46 { font-size: 46px;}
*.fs-48 { font-size: 48px;}
*.fs-50 { font-size: 50px;}
*.fs-52 { font-size: 52px;}
*.fs-54 { font-size: 54px;}
*.fs-56 { font-size: 56px;}
*.fs-58 { font-size: 58px;}
*.fs-60 { font-size: 60px;}
*.fs-62 { font-size: 62px;}
*.fs-64 { font-size: 64px;}
*.fs-66 { font-size: 66px;}
*.fs-68 { font-size: 68px;}
*.fs-70 { font-size: 70px;}
*.fs-72 { font-size: 72px;}
*.fs-74 { font-size: 74px;}
*.fs-76 { font-size: 76px;}
*.fs-78 { font-size: 78px;}
*.fs-80 { font-size: 80px;}

section.bg {
  background-color: #FEF5F7;
}

section.bg-yellow {
  background-color: #FEFDD6;
}

.video-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.video-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.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-step li {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
  padding: 20px;
  border: solid 1px #EAABD7;
}

.list-step li:before {
  content: 'STEP.1';
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 30px 0 0;
  width: 80px;
  min-height: 80px;
  font-size: 18px;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  background: #E597C5;
}

.list-step li:nth-child(1):before { content: 'STEP.1'; }
.list-step li:nth-child(2):before { content: 'STEP.2'; }
.list-step li:nth-child(3):before { content: 'STEP.3'; }
.list-step li:nth-child(4):before { content: 'STEP.4'; }
.list-step li:nth-child(5):before { content: 'STEP.5'; }
.list-step li:nth-child(6):before { content: 'STEP.6'; }
.list-step li:nth-child(7):before { content: 'STEP.7'; }
.list-step li:nth-child(8):before { content: 'STEP.8'; }
.list-step li:nth-child(9):before { content: 'STEP.9'; }
.list-step li:nth-child(10):before { content: 'STEP.10'; }

.list-indent li {
  margin-left: 1em;
  text-indent: -1em;
}
