@charset "UTF-8";
/* CSS Document */
/***********************************************
***  Common
***********************************************/
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-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after {
  content: "";
  content: none;
}
q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  padding: 0;
}
button:hover {
  cursor: pointer;
}
button:focus, button:active {
  background: transparent;
  outline: none;
  box-shadow: none;
}
html {
  box-sizing: border-box;
  font-size: 62.5%;
  height: 100%;
  min-height: 100%;
}
*, *:before, *:after {
  box-sizing: inherit;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
body {
  background-color: #ffbc0c;
  color: #231815;
  font-family: Ryumin Regular KL, "游ゴシック", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, sans-serif;
  line-height: 1;
  font-weight: 500;
    position:relative;
    background: url(../img/common/bg_white.jpg);
}

main{
    overflow-x:hidden;
}
.cf:after {
  content: "";
  display: block;
  clear: both;
}
.cf {
  *zoom: 1;
}
br.sp {
  display: none;
}
br.pc {
  display: none;
}

.topmain{
    position:relative;
    background-color: #fff;
    text-align: center;
}

.topmain:before{
        position: absolute;
    content: "";
    background-image: url(../img/border-yellow.png);
    width: 100%;
    height: 40px;
    top: 0;
    left: 0;
    background-size: 1000px auto;
    background-repeat: repeat-x;
    background-position: bottom left;
    transform: rotate(180deg);
}

.topmain:after{
    position:absolute;
    content: "";
    background-image: url(../img/border-yellow.png);
    width: 100%;
    height: 40px;
    bottom: 0;
    left: 0;
    background-size: 1000px auto;
    background-repeat: repeat-x;
    background-position: top left;
}
.topmain-title{
    max-width:1000px;
    margin: 0 auto;
    padding: 40px 0 20px;
}
.topmain-term{
        font-size: 22px;
    display: inline-block;
    text-align: center;
    margin: 0 auto 80px;
    background-color: #db0108;
    color: #fff;
    line-height: 2;
    border-radius: 100px;
    padding: 0 20px;
    font-weight: 800;
        
}
@media (max-width: 800px) {
    .topmain-term {
    font-size: 3.2vw;
    }
}
.rules-header{
     position:relative;
    background-color: #fff;
}
.rules-header:before{
        position: absolute;
    content: "";
    background-image: url(../img/border-yellow.png);
    width: 100%;
    height: 40px;
    top: 0;
    left: 0;
    background-size: 1000px auto;
    background-repeat: repeat-x;
    background-position: bottom left;
    transform: rotate(180deg);
}

.rules-header:after{
    position:absolute;
    content: "";
    background-image: url(../img/border-yellow.png);
    width: 100%;
    height: 40px;
    bottom: 0;
    left: 0;
    background-size: 1000px auto;
    background-repeat: repeat-x;
    background-position: top left;
}
.rules-title{
       max-width:1000px;
    margin: 0 auto;
    padding: 30px 0;
}
.rules-contents{
    background-color:#ffbc0c;
    padding: 60px 0;
}
.rules-contents-inner{
    max-width:1000px;
    display:block;
    margin: 0 auto;
    padding: 50px;
    background-color:#fff;
    font-size:14px;
    border-radius: 50px;
}
.rules-contents-heading{
    font-weight: 800;
    font-size: 20px;
    margin-bottom: 20px;
    position: relative;
    padding-left: 30px;
}
.rules-contents-heading:before{
    position:absolute;
    content: "";
    background-color:#db0007;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    left: 0;
    bottom: 0;
}
.rules-sections{
    margin-bottom:40px;
}
.rules-contents-notice-lists{
    margin-left: 2em;
}
.rules-contents-notice-lists li{
    list-style:circle;
    margin-bottom: 10px;
    letter-spacing: 0.08em;
    line-height: 1.4;
}
.rules-contents-text{
    margin-bottom: 10px;
    letter-spacing: 0.08em;
    line-height: 1.4;
}
.rules-contents-link,.rules-contents-link:link,.rules-contents-link:visited{
    color:#000;
}
.rules-contents-link{
    text-decoration: underline;
text-decoration-color: #db0007;
    }
@media (max-width: 1000px) {
  .rules-contents-inner{
    max-width:1000px;
      width: 90%;
}
}
@media (max-width: 800px) {
  .rules-contents-inner{
    padding: 30px;
      border-radius: 30px;
    }
    }

.thanks-header{
     position:relative;
}
.thanks-header:before{
        position: absolute;
    content: "";
    background-image: url(../img/border-yellow.png);
    width: 100%;
    height: 40px;
    top: 0;
    left: 0;
    background-size: 1000px auto;
    background-repeat: repeat-x;
    background-position: bottom left;
    transform: rotate(180deg);
}


.thanks-container{
     position:relative;
        padding-bottom: 80px;
}
.thanks-body{
    position: relative;
    background-color:#fff;
    min-height: 100vh;
}
    .thanks-body:before{
        position: absolute;
        content: "";
    background: url(../img/border-yellow.png);
    background-position: bottom;
        width: 100%;
        height: 40px;
        bottom: 0;
        left: 0;
    background-size: 1000px auto;
    background-repeat: repeat-x;
}

.thanks-text.strong{
    font-size: 60px;
    color: #000;
    font-weight: 800;
    text-align: center;
    margin-bottom: 40px;
}

.thanks-text{
    max-width: 1000px;
    font-size: 20px;
    color: #000;
    font-weight: 800;
    text-align: center;
    line-height: 2;
 margin: 0 auto;
}

@media (max-width: 800px) {
    .thanks-text.strong{
    font-size: 6vw;
    }
}
@media (max-width: 800px) {
    
.thanks-text{
    width: 90%;
    font-size: 16px;
}
}
/***********************************************
***  form
***********************************************/
.form-container{
    display:block;
    margin: 80px auto 30px;
    width: 800px;
}
.form-item{
    display: flex;
    justify-content: space-between;
    margin-bottom: 2px;
    font-size: 14px;
}
.label-area{
    width: 26%;
    background-color: antiquewhite;
    padding: 20px;
    font-weight: 800;
}
.input-area{
    width: 70%;
    padding: 20px;
}
.input-area input,
.input-area textarea{
    width: 100%;
}

.input-area-text.inline{
    display:inline;
}
.input-area-text.wd6{
    width:6em;
}
.input-area-text.wd3{
    width:3em;
}
select.inline{
    display:inline;
    width: 3em;
}
select.sub-item{
  margin-top: 20px;
}
.input-area-row{
    display: flex;
    justify-content: space-between;
}
.input-area-row.start{
    justify-content: flex-start;
}
.second-row{
    margin-top: 20px;
}
input.half{
    width: 30%;
}

input.quarter{
    width: 12%;
        padding: 0;
    margin: 0;
}
.policy-container{
    text-align: center;
    font-size: 16px;
}
.btn-submit{
       text-align: center;
    margin: 40px auto;
    position: absolute;
    left: 0;
    right: 0;
    font-size: 16px;
    width: 300px;
    border: 1px solid #000;
    line-height: 2;
}