@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Contrail+One&family=Roboto+Condensed:wght@700&family=Sansita+Swashed&display=swap");

/*default*/
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 0%;
  min-width: 0%;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
  position: relative;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  font-size: 62.5%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

body {
  background: #fff;
  font: 400 1.5rem/1.7 'Roboto', "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #282828;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .1rem;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-print-color-adjust: exact;
  width: 100%;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: 1.0rem;
}

/*module*/
p {
  margin-bottom: 1em;
}

.tar {
  text-align: right;
}

/*structure*/
header {
  padding: 1.8em 0;
}

header .logo {
  padding: 0;
  line-height: 1;
  text-align: center;
  width: 80%;
  max-width: 320px;
  margin: 0 auto;
}

header .logo a {
  display: block;
  padding: 0;
  line-height: 1;
}

header .logo img {
  width: 100%;
  height: auto;
  line-height: 1;
  display: block;
}

footer {
  background: #626c81;
}

footer .contact {
  background: #eaeaea;
  padding: 50px;
}

footer .contact a {
  background: #283758;
  color: #fff;
  display: block;
  font-weight: 500;
  padding: 1.6em;
  text-align: center;
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s;
  max-width: 360px;
  margin: 0 auto;
}

footer .contact a:hover {
  background: #1e85dd;
}

footer .address {
  color: #fff;
  padding: 30px;
  max-width: 960px;
  margin: 0 auto;
}

footer .address p:first-of-type {
  margin-bottom: 2em;
}

/*Style*/
.key {
  position: relative;
}

.key__year {
  color: #f3d13a;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 20vw;
  position: absolute;
  vertical-align: bottom;
  line-height: 1;
  right: 3%;
  bottom: -15%;
  z-index: 1000;
  -webkit-transition: .3s;
  transition: .3s;
}

.key__txt {
  font-family: 'Sansita Swashed', cursive;
  font-size: 4vw;
  position: absolute;
  vertical-align: bottom;
  line-height: 1;
  right: 6%;
  bottom: -20%;
  z-index: 1100;
  -webkit-transition: .3s;
  transition: .3s;
}

.key__img {
  background: url(img/key_bg.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.key__img.toppage {
  background: url(img/key_bg3.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.key__img::before {
  display: block;
  content: "";
  padding-top: 53.3%;
}

.key__img.toppage::before {
  display: block;
  content: "";
  padding-top: 80%;
}

.key__img img {
  /*width: 250%;
		position: absolute;
		top: -160%;
		left: -74%;
		margin: auto;*/
  max-height: 512px;
  max-width: 100%;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.message {
  background-size: cover;
  padding: 12% 0;
  width: 84%;
  max-width: 960px;
  margin: 0 auto;
}

.message h2 {
  font-size: 6vw;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1em;
}

.message h2 span {
  display: block;
}

.message h3 {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1em;
}

.message__sign {
  margin-top: 2em;
  text-align: right;
}

.message__sign span {
  display: block;
}

.message .slogan {
  font-weight: 500;
  font-size: 2.2rem;
  margin: 2em 0;
  text-align: center;
}

.message .power-to-connect {
  font-family: 'Contrail One', cursive;
  font-weight: 900;
}

.message__last {
  font-weight: 700;
  font-size: 1.8rem;
  margin: 2em 0;
}

.message .txt_br_smp {
  display: block;
}

/* Action */
.action {
  padding: 1.6em 0;
}

.action dt {
  font-weight: 600;
}

.action dd {
  margin-bottom: 1em;
}

/* Collabo */
.collabo {
  padding: 1.6em 0;
}

.collabo h3 {
  font-weight: 400;
}

.collabo dl {
  font-size: 88%;

}

.collabo dt {
  font-weight: 500;
}

.collabo dd {
  margin-bottom: 1em;
}



.link {
  list-style: outside none;
  margin-left: 0;
}

.link__sv img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 640px) {
  body {
    font-size: 1.6rem;
  }

  /*Style*/
  .key {
    position: relative;
  }

  .key__year {
    font-size: 12rem;
  }

  .key__txt {
    font-size: 3rem;
  }

  .key__img {
    width: 100%;
    margin-right: auto;
    overflow: hidden;
    position: relative;
    text-align: center;
  }

  .key__img.toppage::before {
    display: block;
    content: "";
    padding-top: 60%;
  }

  .key__img img {
    max-height: 460px;
    width: auto;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    /*width: 250%;
		position: absolute;
		top: -240%;
		left: -74%;
		margin: auto;*/
  }

  .message {
    background-size: cover;
    padding: 4% 0;
    width: 84%;
    max-width: 960px;
    margin: 0 auto;
  }

  .message h2 {
    font-size: 4.0rem;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 1em;
  }

  .message h2 span {
    display: block;
  }

  .message p {
    font-size: 1.8rem;
  }

  .message__sign {
    margin-top: 2em;
    /* text-align: center; */
  }

  .message__sign span {
    display: inline-block;
    margin-left: 1em;
  }

  .message .slogan {
    font-size: 2.8rem;
    margin: 2em 0;
    text-align: center;
  }

  .message__last {
    font-weight: 700;
    font-size: 1.8rem;
    margin: 2em 0;
    text-align: center;
  }

  .message .txt_br_smp {
    display: inline;
  }

  .message .txt_br_pc {
    display: block;
  }
}

@media screen and (min-width: 960px) {
  .key__year {
    left: 65%;
    bottom: -10%;
  }

  .key__txt {
    left: 66%;
    bottom: -12%;
  }

  .key__img {
    width: 100%;
    overflow: hidden;
    position: relative;
    height: 512px;
  }

  .key__img::before {
    display: block;
    content: "";
    padding-top: 512px;
  }

  .key__img.toppage {
    width: 100%;
    overflow: hidden;
    position: relative;
    height: 580px;
  }

  .key__img img {
    /*width: 250%;
		position: absolute;
		top: -160%;
		left: -74%;
		margin: auto;*/
    max-height: 512px;
    max-width: 100%;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
  }
}

@media screen and (min-width: 1300px) {
  .key__img.toppage {
    width: 100%;
    overflow: hidden;
    position: relative;
    height: 740px;
  }
}

.support {
  margin-bottom: 1.5em;
}

.support h3,
.support p {
  font-size: 88%;
}

/*# sourceMappingURL=ny2021.css.map */
