@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 font-family: inherit;
}
html {
 font-size: 62.5%;
}
body {
 font-family: 'Noto Sans JP', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
 line-height: 1.0;
 color: #000;
 background: #fff;
 margin: 0;
 padding: 0;
 font-weight: 400;
 font-feature-settings: "palt";
 background-color: #e1e6eb;
}
p {
 line-height: 1.5;
 font-size: 1.1em;
}
.wrap {
 font-size: 1.6rem;
 display: grid;
 grid-template-rows: auto max-content;
 min-height: 100svh;
}
main {
 z-index: 1;
 display: flex;
 align-items: center;
 position: relative;
}
article {
 height: 100%;
 margin: 0 auto;
 display: flex;
 height: fit-content;
 padding: 0;
 justify-content: center;
 box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
 border-radius: 10px;
 background: none;
 max-width: 700px;
 z-index: 1;
}
article section {
 padding: 2em;
 display: flex;
 align-items: center;
 background: rgba(0, 103, 163, .75);
 justify-content: flex-end;
 color: #fff;
 border-radius: 10px;
 padding: 30px;
 line-height: 2;
}
footer {
 background: #cdd7e1;
 padding: 5px;
 line-height: 1.5;
 font-size: .8em;
 z-index: 2;
}
footer ul {
 display: flex;
 align-items: center;
 margin: 0 auto;
 justify-content: center;
}
footer > div {
 max-width: 1200px;
 margin: 0 auto;
 text-align: center;
}
footer ul a {
 color: rgb(0, 99, 204);
 text-decoration: underline;
}
footer ul li {
 padding: 0 10px;
 position: relative;
}
footer ul li:not(:last-child)::after {
 content: "";
 width: 1px;
 height: 12px;
 position: absolute;
 top: 50%;
 right: 0;
 background: rgb(0, 99, 204);
 transform: translateY(-50%);
}
h1 {
 display: flex;
 font-size: 2.5em;
 justify-content: center;
 font-weight: 500;
 margin-bottom: 10px;
 align-items: center;
}
h1 .icon {
 width: 60px;
 margin-right: 10px;
}
.btn-wsd a {
 display: block;
 margin: 15px auto 0;
 background: hsl(0, 0%, 100%);
 text-align: center;
 text-decoration: none;
 color: hsl(202, 50%, 48%);
 line-height: 3;
 border-radius: 5px;
 font-weight: 600;
 font-size: 1.1em;
}
.btn-wsd a:hover {
 background: hsl(203, 100%, 95%);
}
svg {
 overflow: hidden;
 vertical-align: middle;
}
.bg-line-ball {
 z-index: -100;
 position: fixed;
 left: 0;
 top: 50%;
 height: 90%;
 min-height: 700px;
 opacity: .8;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
}
.bg-graphic {
 position: fixed;
 left: 0;
 bottom: 30px;
 width: 100%;
 z-index: -100;
}
.bg-graphic.bg-gra1 {
 opacity: .25;
 min-width: 1000px;
}
.bg-graphic.bg-gra2 {
 opacity: .4;
 min-width: 1200px;
}
.bg-graphic.bg-gra3 {
 opacity: .4;
 min-width: 1600px;
}
@media only screen and (max-width: 580px) {
 h1 {
  font-size: clamp(1.6em, 6vw, 2.3em);
 }
 h1 .icon {
  width: clamp(30px, 10vw, 60px);
 }
 article section {
  border-radius: 0;
 }
}