@charset "utf-8";
/* =======================================
	Browser Reset
========================================== */
* {
  outline: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  border: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  vertical-align: baseline;
}
article, aside, dialog, figure, footer, header, main, menu, nav, section {
  display: block;
}
audio, canvas, video {
  display: inline-block;
}
br, hr {
  display: block;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}
input, select {
  vertical-align: middle;
}
input[type=text], input[type=email], input[type=tel], input[type=password], textarea {
  outline: none;
  background: none;
  border: none;
}
input[type=submit], input[type=reset], input[type=button], button[type=submit], button[type=button], button[type=reset] {
  background: none;
  border: none;
  cursor: pointer;
}
select {
  border: none;
}
select::-ms-expand {
  display: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}
th, td {
  font-weight: normal;
  text-align: left;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}
address {
  font-style: normal;
}
/* base-set
--------------------------------------------------------- */
html {
  font-size: 62.5%;
  height: 100%;
  width: 100%;
}
body {
  height: 100%;
  width: 100%;
  color: #333;
  font-size: 10px;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
body, input, select, textarea {
  font: 1.0rem/1 "-apple-system", "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", Verdana, sans-serif;
}
strong {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", Verdana, sans-serif;
}
_:lang(x)::-ms-backdrop, body {
  font-family: "メイリオ", Meiryo, sans-serif;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  src: url("../fonts/MPLUSRounded1c-Light.eot?") format('eot'), url("../fonts/MPLUSRounded1c-Light.woff") format('woff'), url("../fonts/MPLUSRounded1c-Light.ttf") format('truetype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  src: url("../fonts/MPLUSRounded1c-Regular.eot?") format('eot'), url("../fonts/MPLUSRounded1c-Regular.woff") format('woff'), url("../fonts/MPLUSRounded1c-Regular.ttf") format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  src: url("../fonts/MPLUSRounded1c-Medium.eot?") format('eot'), url("../fonts/MPLUSRounded1c-Medium.woff") format('woff'), url("../fonts/MPLUSRounded1c-Medium.ttf") format('truetype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  src: url("../fonts/MPLUSRounded1c-Bold.eot?") format('eot'), url("../fonts/MPLUSRounded1c-Bold.woff") format('woff'), url("../fonts/MPLUSRounded1c-Bold.ttf") format('truetype');
  font-weight: 700;
  font-style: normal;
}
/* =======================================
	Others
========================================== */
/*link
--------------------------------------------------------- */
a {}
a:hover, a:focus {}
/* =======================================
	Structure
========================================== */
body {
  background: url("../images/common/bg_body.png")
}
.open body {
  position: fixed;
  right: 0;
  left: 0;
  overflow: hidden;
  height: 100vh;
  width: 100%;
}
.open .is-win {
  padding-right: 17px;
}
.open .is-nwin, .open .is-tablet, .open .is-mobile {
  padding-right: 0;
}
.btn-top {
  max-width: 1366px;
  margin: 0 auto;
}
.btn-top a {
  display: block;
  height: 39px;
  width: 38px;
  margin: 8px 0 0 8px;
  box-shadow: 0 2px 3px 0 rgba(56, 56, 56, .47);
}
@media only screen and (min-width: 600px) {
  .btn-top a {
    margin: 14px 0 0 14px;
  }
}
/* header
--------------------------------------------------------- */
header {
  margin-top: 10px;
}

header img{
  display: flex;
  margin: 0 auto;
}

h1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 18.666vw;
  width: 95%;
  margin: 0 auto;
  color: #005caa;
  font-family: "M PLUS Rounded 1c";
  font-size: 10.413vw;
  font-weight: 500;
  border: 4px solid #3395e8;
  border-radius: 5px;
  letter-spacing: .05em;
  line-height: 1;
}
h1::before, h1::after {
  content: '';
}
@media only screen and (min-width: 375px) {
  header {
    margin-top: 1.866vw;
  }
}
@media only screen and (min-width: 544px) {
  h1 {
    height: 128px;
    font-size: 5.6rem;
  }
}
@media only screen and (min-width: 600px) {
  header {
    margin-top: 30px;
  }
}
/* main
--------------------------------------------------------- */
main {
  width: 95.2%;
  margin: 0 auto;
}
/* =======================================
	State
========================================== */
/* modaal
--------------------------------------------------------- */
.modaal-inner-wrapper {
  padding: 10px 0 300px;
}
.modaal-container {
  position: relative;
  max-width: 1140px;
  background: none;
}
.modaal-content-container {
  padding: 53px 10px 0;
}
.modaal-content-container > .inner {
  padding: 18px;
  background: #fff;
  border-radius: 5px;
}
.modaal-wrapper .modaal-close {
  position: absolute;
  top: 5px;
  right: 15px;
  z-index: 9999;
  height: 48px;
  width: 48px;
  background: #005caa;
  border-radius: 5px 5px 0 0;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
  background: #fff;
}
@media only screen and (min-width: 1024px) {
  .modaal-content-container > .inner {
    padding: 6.89% 4.13%;
  }
}
/* slick
--------------------------------------------------------- */
button[type=button].slick-arrow {
  position: absolute;
  top: 50%;
  z-index: 9999;
  height: 40px;
  width: 40px;
  margin-top: -20px;
  font-size: 0;
  background: url("../images/common/btn_slide.png") no-repeat 100% 50%;
}
button[type=button].slick-prev {
  left: -26px;
  transform: rotate(180deg);
}
button[type=button].slick-next {
  right: -26px;
}
.slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.slick-dots li {
  height: 14px;
  width: 14px;
  margin: 0 8px;
  font-size: 0;
  background: #c7c7c7;
  border-radius: 50%;
  cursor: pointer;
}
.slick-dots .slick-active {
  background: #3395e8;
}
