@charset "UTF-8";

/*----------------------------------------------------
	全体
----------------------------------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html, body {
    padding: 0;
    margin: 0;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 2.0em;
    color: #1D1D1D;
    position: relative;
    -webkit-text-size-adjust: none;
}

ul, li {
    list-style: none;
    margin: 0;
    padding: 0; 
}
  
body * { text-shadow: none; }

h1, h2, h3, h4, h5, h6 {
    line-height: 1.5em;
    font-weight: bold;
}

img { max-width: 100%; }

.tC { text-align: center; }
.tL { text-align: left; }
.tR { text-align: right; }
.m-left { margin-right: auto; }
.m-right { margin-left: auto; }

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
* {
    margin: 0;
    padding: 0;
}

/* link
----------------------------------------------------*/
a, a:active, a:visited, a:hover {
    color: inherit;
    text-decoration: underline;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.6);
}

a {}
a:hover { text-decoration: none; }

img.link {
    opacity: 1;
    transition: all .3s;
}
img.link:hover {
    opacity: 0.6;
}

/*----------------------------------------------------
	テキスト
----------------------------------------------------*/
h1 {
  padding: 0;
  margin: 0.5em 1em 0 1em;
  font-size: 250%;
  text-align: center; }

h2 {
  font-size: 24px;
  width: 100%;
  margin: 0;
  padding: .25em 0;
  text-align: center; }
  @media (max-width: 768px) {
    h2 {
      font-size: 21px; } }
  @media (max-width: 480px) {
    h2 {
      font-size: 17px; } }
  h2 img {
    width: 100%;
    max-width: 780px; }

h3 {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.5px;
  margin: .5rem 0;
  padding: .25em 0; }
  @media (max-width: 768px) {
    h3 {
      font-size: 21px; } }
  @media (max-width: 480px) {
    h3 {
      font-size: 16px; } }

h4 {
  font-size: 21px;
  margin: 1em 0; }
  @media (max-width: 768px) {
    h4 {
      font-size: 18px; } }
  @media (max-width: 480px) {
    h4 {
      font-size: 16px; } }

h5 {
  font-size: 21px;
  font-weight: 700;
  margin: .5rem 0;
  padding: .25em 0; }
  @media (max-width: 768px) {
    h5 {
      font-size: 17px; } }
  @media (max-width: 480px) {
    h5 {
      font-size: 14px; } }

p { margin: 0 0 1em 0; }

@media (max-width: 768px) {
  body { font-size: 14px; }
}
@media (max-width: 480px) {
  body { font-size: 12px; }
}

.row {
  width: 100%;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
}

.row .col-2 {
  width: calc((100% - 5%) / 2); }
.row .col-3 {
  width: calc((100% - 4%) / 3); }
.row .col-4 {
  width: calc((100% - 3%) / 4); }

.row-list {
  width: 100%;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start; }

.row-list .col-2 {
  width: calc((100% - 2%) / 2);
  margin: .5%; }
.row-list .col-3 {
  width: calc((100% - 6%) / 3);
  margin: .5%; }
.row-list .col-4 {
  width: calc((100% - 4%) / 4);
  margin: .5%; }

@media (max-width: 768px) {
  .row .col-2 {
    width: calc((100% - 3%) / 2); }
  .row .col-3 {
    width: calc((100% - 2%) / 2); }
  .row .col-4 {
    width: calc((100% - 1%) / 2); }
  .row .col-7 {
    width: calc((100% - 3%) / 4); }

  .row-list .col-2 {
    width: calc((100% - 4%) / 2);
    margin: .5%; }
  .row-list .col-3 {
    width: calc((100% - 2%) / 2);
    margin: .5%; }
  .row-list .col-4 {
    width: calc((100% - 2%) / 2);
    margin: .5%; } }
@media (max-width: 480px) {
  .row .col-2 {
    width: calc((100% - 0%) / 1); }
  .row .col-3 {
    width: calc((100% - 2%) / 2); }
  .row .col-4 {
    width: calc((100% - 1%) / 2); }

  .row-list .col-2 {
    width: calc((100% - 1%) / 1);
    margin: .5%; }
  .row-list .col-3 {
    width: calc((100% - 2%) / 2);
    margin: .5%; }
  .row-list .col-4 {
    width: calc((100% - 2%) / 2);
    margin: .5%; } }
    
/*	余白
----------------------------------------------------*/
.m10 { margin: 1em; }
.m10t { margin-top: 1em; }
.m15t { margin-top: 1.5em; }
.m20t { margin-top: 2em; }
.m05b { margin-bottom: 0.5em; }
.m10b { margin-bottom: 1em; }
.m15b { margin-bottom: 1.5em; }
.m20b { margin-bottom: 2em; }
.p10 { padding: 1em 0.5em; }
.p15t { padding-top: 1.5em; }
.p20tb { padding: 2em 0; }
.p20 { padding: 1em 2em; }


/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
	background: #555;
	width: 100%;
	height: 100%;
	min-height: 100vh;
}
#wrapper {
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

#container {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 1.5em; }

.contents {
  max-width: 820px;
  margin: 0 auto;
  padding: .5em; }
  .contents section {
    margin: 0 auto;
    max-width: 550px; }

.sp-text, .sp-img {
  display: none !important; }

.pc-text, .pc-img {
  display: inherit !important; }

@media (max-width: 480px) {
  .sp-text, .sp-img {
    display: inherit !important; }

  .pc-text, .pc-img {
    display: none !important; } }
    
/* btn
----------------------------------------------------*/
.btn {
  margin: 1.5em 0;
  text-align: center;
  font-weight: 700; }
  .btn a {
    display: block;
    padding: 0;
    text-decoration: none;
    color: #FFFFFF;
    border-radius: 6px;
    background: #30B8BB;
    transition: all .3s; }
    .btn a:hover {
      background: #E85161; }
  .btn.ques a {
    display: block;
    padding: 0;
    text-decoration: none;
    color: #FFFFFF;
    border-radius: 6px;
    background: #E85161;
    transition: all .3s;
    max-width: 400px;
    margin: 2em auto; }
    .btn.ques a:hover {
      background: #30B8BB; }
  .btn.w200 {
    max-width: 200px;
    margin: 2em auto; }
    @media (max-width: 480px) {
      .btn.w200 {
        width: 100%;
        max-width: 200px; } }



/*----------------------------------------------------
	style
----------------------------------------------------*/

.home-contents {
    width: 100%;
    height: 100vh;
    padding: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-contents .index-form {
    width: 100%;
    max-width: 680px;
    background: #eaedf2;
    border-radius: 10px;
    padding: 3em 2em;
    text-align: center;
}
input.home-block {
    width: 90%;
    max-width: 400px;
    padding: 0.8em;
    background-color: #FFF;
    text-align: center;
}
.bn-submit {
    width: 90%;
    max-width: 320px;
    font-size: 120%;
    color: #FFF;
    text-align: center;
    padding: .5em 1em;
    margin: 0  auto;
    margin-bottom: 1em;
    background: #95c4f5;
    border: 1px solid #FFF;
    border-radius: 30px;
    box-shadow: 3px 3px 3px -1px rgba(3, 0, 0, 0.2);
    cursor: pointer;
    transition: all .3s;
}
.bn-submit:hover {
    background: #293146;
}
.bn-submit a {
    text-decoration: none;
    display: block;
}
.bn-submit a:hover {
    color: #FFF;
    text-decoration: none;
    display: block;
}

.transmitted {
    text-align: center;
    padding: 1em;
    font-size: 90%;
}
.page-header {
    width: 100%;
    max-width: 640px;
    text-align: center;
    margin: 1.5em auto;
	color: #FFF;
}
hr {
	border: 1px solid #FFF;
	margin-bottom: 2em;
}

.voice-list li { 
	padding: 0.75em 0;
}
.page-footer {
    width: 100%;
    max-width: 640px;
    text-align: center;
    margin: 2em auto;
}
.page-contents {
    width: 100%;
    background: #CCC;
    border-radius: 10px;
    padding: 3em 2em;
    margin: 0 auto 2em auto;
}

.q-block {
    margin-bottom: 2em;
    line-height: 2em;
}
.point {
    font-weight: bold;
    color: #cc9393;
    text-decoration: underline;
}

.answer-btn {
    line-height: 1.7;
    padding: .5em 1em;
    margin: 0 auto;
}
.ans-block  {
    line-height: 1;
	padding: 2px;
	margin: 0 5px;
	text-align: center;
    border:1px solid #CCC;
    background: #FFF;
}
.ans-block.bg-yellow { background: #ffc729;}
.ans-block.bg-gray { background: #CCC;}

.select-block {
    line-height: 1;
	padding: 5px 20px 5px 5px;
	margin: 0 5px;
	text-align: center;
    border:1px solid #CCC;
    min-width: 200px;
    position: relative;
    background: #FFF url(../../img/arrow.png) no-repeat right 10px center / 16px auto;
    cursor: pointer;
}
.select-block.bg-yellow { background-color: #ffc729;}
.select-block.bg-gray { background-color: #CCC;}

.wrong {
    background: #FFF;
    border-radius: 10px;
    padding: 2em;
    margin: 2em auto;
}
.wrong p {
    margin-bottom: 0;
}
.right {
    background: #FFF;
    border-radius: 10px;
    padding: 2em;
    margin: 2em auto;
}

.meta-message {
    color: #e3cea0;
    background: #293146;
    border-radius: 10px;
    padding: 2em;
    margin: 2em auto;
}
.meta-message p {
    margin-bottom: 0;
}

.bn-prev {
    width: 90%;
    max-width: 280px;
    font-size: 100%;
    color: #FFF;
    text-align: center;
    padding: .5em 1em;
    margin: 0  auto;
    margin-bottom: 1em;
    background: #95c4f5;
    border: 1px solid #FFF;
    border-radius: 30px;
    box-shadow: 3px 3px 3px -1px rgba(3, 0, 0, 0.2);
    cursor: pointer;
    transition: all .3s;
    display: none;
}
.bn-prev:hover {
    background: #293146;
}
.bn-prev a {
    text-decoration: none;
    display: block;
}
.bn-prev a:hover {
    color: #FFF;
    text-decoration: none;
    display: block;
}

.goodwork {
    text-align: center;
    margin-bottom: 2em;
}
.goodwork img{
    width: 100%;
    max-width: 500px;
}
.movie {
    text-align: center;
    background: #FFF;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2em auto;
}

.questionnaire {
    padding: 2em;
    margin: 1em auto;
    width: 90%;
    max-width: 600px;
}
.share-text {
    text-align: center;
    margin-bottom: 2em;
}
.share-text img{
    width: 100%;
    max-width: 360px;
}

.share {
  display: flex;
  align-items: center;
  justify-content: center;
}
.share li {
    padding: 1em;
    margin: 5px;
    max-width: 100px;
}
.share a {
    display: block;
    padding: 10px;
    margin: 0;
    transition: all .5s;
}
.share a.tw { background: #55acee; }
.share a.fb { background: #3c5998; }
.share a.line { background: #00b900; }
.share a:hover { background: #293146; }



/*	modal
----------------------------------------------------*/

.loading {
    text-align: center;
}
.loading img{
    width: 100%;
    max-width: 100px;
    margin: 1em auto;
}

.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999; }

.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%; }

.modal__content {
  background: #FFF;
  left: 50%;
  padding: .5em;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 800px;
  height: 80%;
  max-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center; }

.js-modal-close {
    line-height: 1.7;
    padding: .5em 1em;
    margin: 1.5em auto 2em auto;
}

  
