@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html, body {
  font-size: 5vw;
}

body {
  margin: 0;
  padding: 0;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
}

::selection {
  background-color: rgba(0, 0, 0, 0.2);
}

a {
  outline: none !important;
  -moz-transition: color 0.4s linear, opacity 0.4s linear, background-color 0.4s linear;
  -o-transition: color 0.4s linear, opacity 0.4s linear, background-color 0.4s linear;
  -webkit-transition: color 0.4s linear, opacity 0.4s linear, background-color 0.4s linear;
  transition: color 0.4s linear, opacity 0.4s linear, background-color 0.4s linear;
}

a:link, a:visited {
  color: #464646;
  text-decoration: none;
}

a:hover, a:focus, a:active {
  color: #000000;
  text-decoration: underline;
}

img {
  width: 100%;
  vertical-align: text-bottom;
}

strong {
  font-weight: 700;
}

sup {
  vertical-align: super;
  font-size: 60%;
}

input, button, textarea, select {
  font-size: 5vw;
  font-family: 'Noto Sans JP', sans-serif;
}

input, textarea {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

input[type="submit"], input[type="button"], button {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: 0 none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  -moz-transition: border 0.6s ease-in-out, color 0.6s ease-in-out, background-color 0.6s ease-in-out, opacity 0.6s ease-in-out;
  -o-transition: border 0.6s ease-in-out, color 0.6s ease-in-out, background-color 0.6s ease-in-out, opacity 0.6s ease-in-out;
  -webkit-transition: border 0.6s ease-in-out, color 0.6s ease-in-out, background-color 0.6s ease-in-out, opacity 0.6s ease-in-out;
  transition: border 0.6s ease-in-out, color 0.6s ease-in-out, background-color 0.6s ease-in-out, opacity 0.6s ease-in-out;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, button::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus, button::focus {
  outline-offset: -2px;
}

.textcenter {
  text-align: center;
}

.textright {
  text-align: right;
}

.textleft {
  text-align: left;
}

.container {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 4.66667vw;
  text-align: center;
}
.container::after {
  content: '';
  clear: both;
  display: block;
}

/* CTA
---------------------------------------------------------------- */
.cta {
  padding: 7.73333vw 0 5.33333vw;
}
.cta h2 {
  margin-bottom: 3.2vw;
  text-align: center;
}
.cta h2 img {
  width: 68.66667vw;
}
.cta .pic02 {
  margin-bottom: 3.6vw;
}
.cta .btn01 {
  position: absolute;
  display: block;
  top: 73.06667vw;
  left: 9.06667vw;
  width: 82vw;
}
.cta .btn02 {
  position: absolute;
  display: block;
  top: 93.46667vw;
  left: 9.06667vw;
  width: 81.6vw;
}
.cta .btn03 {
  position: absolute;
  display: block;
  top: 142.66667vw;
  left: 9.06667vw;
  width: 82vw;
}
.cta .cta01 {
  position: absolute;
  top: 87vw;
  left: 9.06667vw;
  width: 81.6vw;
}
.cta .cta01 p {
  display: block;
  text-align: left;
  font-size: 48%;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.cta .cta01 p a{
  text-decoration: underline;
}

/* Content01
---------------------------------------------------------------- */
.con01 {
  padding-bottom: 13.86667vw;
}
.con01 h2 {
  margin-bottom: 2.66667vw;
}
.con01 h2 img {
  width: 79.6vw;
}
.con01 .txt01 {
  margin-bottom: 6vw;
}
.con01 .txt01 img {
  width: 46.93333vw;
}
.con01 .txt02 {
  margin-bottom: 4.4vw;
}
.con01 .txt02 img {
  width: 79.33333vw;
}
.con01 .txt03 {
  margin-bottom: 4vw;
}
.con01 .txt03 img {
  width: 77.73333vw;
}
.con01 .notice {
  padding-left: 1em;
  color: #231815;
  font-size: 56.25%;
  text-align: left;
  line-height: 1.5;
  text-indent: -1em;
}

/* Content02
---------------------------------------------------------------- */
.con02 {
  position: relative;
  margin-bottom: 10vw;
  padding: 49.46667vw 0 9.33333vw;
  background-color: #c9daef;
}
/* .con02::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10vw 50vw 0 50vw;
  border-color: #c9daef transparent transparent transparent;
} */
.con02 h2 {
  position: absolute;
  top: -52.93333vw;
  left: 8vw;
}
.con02 h2 img {
  width: 83.86667vw;
}
.con02 .pic01 {
  margin-bottom: 8vw;
}
.con02 .pic01 img {
  width: 80.8vw;
}
.con02 .panel {
  padding: 8.66667vw 5.33333vw 6.66667vw;
  background-color: #ffffff;
}
.con02 .panel h3 {
  margin-bottom: 5.33333vw;
}
.con02 .panel h3 img {
  /* width: 76.93333vw; */
}
.con02 .panel .pic02 {
  margin-bottom: 4.66667vw;
}
.con02 .panel .pic02 img {
  /* width: 77.33333vw; */
}
.con02 .panel .detail01 {
  margin-bottom: 5.33333vw;
}
.con02 .panel .detail01 p {
  font-size: 75%;
  line-height: 1.75;
  text-align: left;
}
.con02 .panel .detail01 p strong {
  color: #c80012;
}
.con02 .panel .pic03 {
  margin-bottom: 4vw;
}
.con02 .panel .pic03 img {
  /* width: 72vw; */
}
.con02 .panel .detail02 p {
  font-size: 75%;
  line-height: 1.75;
  text-align: left;
}
.con02 .panel .detail02 p strong {
  color: #c80012;
}
.con02 .panel .detail02 p + p {
  font-size: 56.25%;
}

/* Content03
---------------------------------------------------------------- */
.con03 {
  /* padding-top: 10vw; */
}
.con03 h2 {
  margin-bottom: 4vw;
}
.con03 h2 img {
  width: 86.13333vw;
}
.con03 .pic01 {
  margin-bottom: 5.73333vw;
}
.con03 .pic01 img {
  width: 83.73333vw;
}
.con03 .detail01 {
  margin-bottom: 9.33333vw;
}
.con03 .detail01 p {
  font-size: 75%;
  line-height: 1.75;
  text-align: left;
}
.con03 .detail01 p strong {
  color: #c80012;
}
.con03 .pic02 .container {
  padding: 0;
}
.con03 .pic02 img {
  width: 100vw;
}
.con03 .container{
  margin: 0 auto 10vw;
  padding: 10vw 4.66667vw;
  background: #fff2f3;
}

/* Content04
---------------------------------------------------------------- */
.con04 {
  padding: 8.66667vw 0 7.06667vw;
  background-color: #c9daef;
}
.con04 h2 {
  margin: 10vw 0 6vw;
}
.con04 h2 img {
  width: 87.46667vw;
}
.con04 .pic01 {
  margin-bottom: 5.73333vw;
}
.con04 .pic01 img {
  width: 40.53333vw;
}
.con04 .detail01 {
  margin-bottom: 6vw;
  padding: 0 7.33333vw;
}
.con04 .detail01 p {
  font-size: 75%;
  line-height: 1.75;
  text-align: left;
}
.con04 .detail01 p strong {
  color: #c80012;
}
.con04 .pic02 {
  margin-bottom: 5.33333vw;
}
.con04 .pic02 img {
  width: 74.66667vw;
}
.con04 .panel {
  padding: 8vw 2.66667vw 6.66667vw;
  background-color: #ffffff;
}
.con04 .panel h3 {
  margin-bottom: 1.33333vw;
}
.con04 .panel h3 img {
  width: 75.46667vw;
}
.con04 .panel h4 {
  margin-bottom: 3.33333vw;
}
.con04 .panel h4 img {
  width: 81.6vw;
}
.con04 .panel dl {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 0 3.33333vw 0 5.33333vw;
}
.con04 .panel dl dt {
  flex-basis: 25.33333vw;
}
.con04 .panel dl dd {
  flex-basis: 52vw;
}
.con04 .panel dl dd p {
  font-size: 75%;
  text-align: left;
  line-height: 1.5;
}
.con04 .panel dl dd p.notice {
  font-size: 56.25%;
}
.con04 .panel dl.point01 dt {
  align-self: center;
}
.con04 .panel dl.point01 dt img {
  width: 15.6vw;
}
.con04 .panel dl.point01, .con04 .panel dl.point02 {
  margin-bottom: 1.33333vw;
}

/* Content05
---------------------------------------------------------------- */
.con05 {
  padding: 9.73333vw 0 12vw;
}
.con05 h2 {
  margin-bottom: 6.26667vw;
}
.con05 h2 img {
  width: 83.2vw;
}
.con05 ul li + li {
  margin-top: 4.26667vw;
}
.con05 ul li img {
  width: 79.46667vw;
}

/* Content06
---------------------------------------------------------------- */
.con06 {
  padding: 10.4vw 0 9.6vw;
  background-color: #c9daef;
}
.con06 h2 {
  margin-bottom: 6.66667vw;
}
.con06 h2 img {
  width: 53.6vw;
}
.con06 ul {
  display: flex;
  flex-wrap: wrap;
}
.con06 ul li {
  flex-basis: 50%;
}

/* Content07
---------------------------------------------------------------- */
.con07 {
  padding: 3.33333vw 0 10.26667vw;
}
.con07 h2 {
  margin-bottom: 4.66667vw;
}
.con07 h2 img {
  width: 39.33333vw;
}
.con07 dl {
  width: 86.66667vw;
  margin: 0 auto;
}
.con07 dl + dl {
  margin-top: 2vw;
}
.con07 dl dt {
  position: relative;
}
.con07 dl dt::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 2.66667vw;
  width: 2.66667vw;
  height: 2.66667vw;
  background-image: url("../images/con07_faq_icon_plus.svg");
  background-repeat: no-repeat;
  background-position: 0 0;
  -moz-background-size: 2.66667vw;
  -o-background-size: 2.66667vw;
  -webkit-background-size: 2.66667vw;
  background-size: 2.66667vw;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.con07 dl dt.active::before {
  background-image: url("../images/con07_faq_icon_minus.svg");
}
.con07 dl dd {
  display: none;
  padding: 2vw 3.33333vw;
  border: solid 0.4vw #1d2080;
  border-top: 0 none;
  color: #262626;
  font-size: 65.625%;
  text-align: left;
  line-height: 1.75;
}

/* Content08
---------------------------------------------------------------- */
.con08 {
  padding: 10.66667vw 0 9.33333vw;
  background-color: #c9daef;
}
.con08 h2 {
  margin-bottom: 8vw;
}
.con08 h2 img {
  width: 84.66667vw;
}
.con08 .pic {
  margin: 0 -4.66667vw 1.33333vw;
}
.con08 .pic img {
  width: caclv(750);
}
.con08 .name {
  margin-bottom: 8vw;
  color: #172a80;
  font-size: 68.75%;
  font-weight: 700;
  text-align: center;
}
.con08 .product {
  padding: 0 4.66667vw;
  text-align: left;
}
.con08 .product h3 {
  display: inline-block;
  margin-bottom: 2.66667vw;
  padding: 0.93333vw 2.93333vw 1.33333vw;
  color: #ffffff;
  font-size: 75%;
  background-color: #1d2080;
  -moz-border-radius: 2.4vw;
  -webkit-border-radius: 2.4vw;
  border-radius: 2.4vw;
}
.con08 .product table {
  width: 100%;
  margin-bottom: 2.66667vw;
  color: #353535;
  font-size: 56.25%;
  line-height: 1.625;
}
.con08 .product table tbody tr th, .con08 .product table tbody tr td {
  vertical-align: top;
}
.con08 .product table tbody tr th {
  padding-left: 1.33333vw;
  white-space: nowrap;
}
.con08 .product table tbody tr td {
  padding-left: 4vw;
}
.con08 .product .notice {
  padding-left: 1em;
  color: #3e3a39;
  font-size: 50%;
  text-align: left;
  line-height: 1.5;
  text-indent: -1em;
}

/* Content09
---------------------------------------------------------------- */
.con09 .pic {
  margin: 0 -4.66667vw;
}
.con09 .pic img {
  width: 100vw;
}

/* subscription
---------------------------------------------------------------- */
.subscription {
  margin: 0 auto 50px;
  padding: 0 4.66667vw;
}

/* Footer
---------------------------------------------------------------- */
.footer {
  padding: 2.66667vw 0 6.66667vw;
}
.footer .logo {
  margin-bottom: 3.2vw;
}
.footer .logo img {
  width: 26.66667vw;
}
.footer ul {
  display: flex;
  justify-content: center;
  margin-bottom: 8vw;
}
.footer ul li {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 2.66667vw;
  font-size: 50%;
}
.footer ul li + li {
  border-left: solid 1px #464646;
}
.footer .copyright {
  color: #464646;
  font-size: 50%;
  line-height: 1.5;
}

/* To header
---------------------------------------------------------------- */
.toheader {
  position: fixed;
  right: 2.66667vw;
  bottom: 8vw;
}
.toheader img {
  width: 12.26667vw;
  height: 12.26667vw;
}
