@charset "UTF-8";
html {
  background-color: #f5f5f5;
}

body {
  background-color: #fff;
  max-width: 1230px;
  margin: 0 auto !important;
}

a {
  transition: all 0.3s;
}

a[href^="tel:"] {
  text-decoration: none !important;
  color: #040000;
}

.header, .content {
  max-width: 1230px;
  margin: 0 auto;
  background-color: #fff;
}

.footer {
  max-width: 100%;
  background-color: #000;
  position: relative;
}
.footer .gray-area {
  position: absolute;
  top: -111px;
  left: 0;
  background-color: #AFAFAF;
  padding-bottom: 30%;
}
.footer .footer-link-area a:nth-of-type(1) {
  position: relative;
  top: 5px;
  left: 0;
}
.footer .footer-bottom {
  width: 41%;
  padding: 8% 0 3%;
  margin: 0 auto;
}

.inner_head {
  max-width: 1230px;
  margin: 0 auto;
}

.inner {
  max-width: 1230px;
}

.content img, .content_head img {
  width: 100%;
  height: auto;
}

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

._hide {
  display: none;
}

.color-red {
  color: red;
}

.bg-danger {
  padding: 0px 10px;
  margin: 3px 0;
  background-color: #F3DEDE;
}

a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
}

/* section */
.section-inner {
  padding: 4%;
}

#section1 {
  background: #000000;
  position: relative;
}
#section1 .bg-bottom {
  position: absolute;
  bottom: -3.2%;
  left: 0;
  z-index: 1;
}

#section2 {
  background: #2A2E39;
  position: relative;
  padding-bottom: 4%;
}
#section2 .h2 {
  background: linear-gradient(to bottom, rgba(42, 46, 57, 0.49), rgba(42, 46, 57, 0.7), rgb(42, 46, 57)), url(../images/img7.jpg);
  background-repeat: no-repeat;
  background-size: 110%;
  padding: 30% 4% 17%;
}
#section2 .section-inner {
  padding: 0 4% 4%;
}
#section2 .sec2-part2 {
  position: relative;
}
#section2 .sec2-part2 .h3 {
  position: absolute;
  top: -5%;
}

.sec2-bottom-area {
  width: 100%;
  height: 5%;
}

.sec2-bottom {
  width: 50%;
  margin: -1vw auto;
  padding-top: 1%;
}

#section3 .h2 {
  margin-bottom: 10%;
}
#section3 .sec3-parts {
  margin: 8% 0;
}

#section8 {
  background-color: #fff;
  padding: 4%;
}

#section9 {
  background-color: #000;
  margin-top: 20%;
  position: relative;
  z-index: 1;
}
#section9 .ribbon2 {
  position: absolute;
  top: -15%;
}

#section10 {
  background-color: #000;
  padding: 7em 4% 1%;
  position: relative;
  top: -100px;
}

#section11 {
  background-color: #AFAFAF;
  position: relative;
  top: -110px;
  padding-top: 10%;
}

/* btn */
#section1 .btn {
  width: 100%;
  margin: 15% auto 0;
  position: relative;
}
#section1 .btn .ribbon-area {
  position: absolute;
  top: -16%;
  left: -32%;
  transform: scale(0.6);
}
#section1 .btn a {
  position: absolute;
  display: block;
}
#section1 .btn a:nth-of-type(1) {
  right: 0px;
  left: 0px;
  bottom: 30%;
}
#section1 .btn a:nth-of-type(2) {
  right: 0px;
  left: 0px;
  bottom: 3%;
  padding: 0 4%;
}
#section1 .btn a img {
  width: 100%;
  height: auto;
}

.btn {
  width: 100%;
  margin: 5% auto 0;
  position: relative;
}
.btn .ribbon-area {
  position: absolute;
  top: -16%;
  left: -35%;
  transform: scale(0.5);
}
.btn a {
  position: absolute;
  display: block;
}
.btn a:nth-of-type(1) {
  right: 0px;
  left: 0px;
  bottom: 30%;
}
.btn a:nth-of-type(2) {
  right: 0px;
  left: 0px;
  bottom: 3%;
  padding: 0 4%;
}
.btn a img {
  width: 100%;
  height: auto;
}

/* お問い合わせフォーム */
/* menteの時 */
.mente {
  padding: 40px 0;
}

.mente .menteMsg {
  text-align: center;
  font-size: 24px;
  margin-bottom: 0;
}

.mente .menteExcs {
  font-size: 14px;
  display: block;
}

/* 送信時の｢お待ち下さい｣ */
.waitMsg {
  display: none;
  width: 100%;
  height: 100%;
  text-align: center;
  position: fixed;
  top: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.7);
}

.waitMsgText {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -168px;
  font-size: 24px;
  background: transparent;
  font-family: sans-serif;
  font-weight: bold;
  color: #fff;
}

/* //送信時の｢お待ち下さい｣ */
/* //menteの時 */
input,
label,
select,
.confirmTable {
  font-family: sans-serif;
  font-weight: normal;
}

input, select {
  border: none;
}

form#req-form {
  padding: 50px 0 10px;
}

.formWrap {
  /*width: 1000px;*/
  width: 100%;
  background: #000 url("../images/bg.jpg") center repeat-y;
  margin: auto;
}

table {
  margin-bottom: 32px;
  table-layout: fixed;
  width: 100%;
}

table.confirmTable {
  width: 90%;
  margin: 40px auto 0;
}

tr.req,
tr.req2 {
  border-bottom: 1px solid #A8A6A6;
}

.req th,
.req1 th,
.req2 th {
  border-right: 1px solid #A8A6A6;
}

th, td {
  padding: 20px !important;
  border: 1px solid #a8a6a6 !important;
}

th {
  width: 220px;
  min-width: 190px;
  background: #E7E4CB;
  text-align: left;
}

td {
  background: #dfdaac;
  position: relative;
  padding: 20px !important;
}

tr th span {
  font-size: 16px;
  padding-left: 10%;
}

tr.req th span::after {
  content: "必須";
  background-color: #05060d;
  color: #FFF;
  margin-left: 12px;
  padding: 4px 6px;
  font-size: 12px;
}

input[type=text] {
  padding: 10px 20px;
  font-size: 16px;
}

input[type=text]:first-child {
  margin-right: 16px;
}

input[name=email] {
  margin-bottom: 16px;
}

.formError {
  top: 44px !important;
}

.formError .formErrorContent.formErrorContent {
  position: relative;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

.formError .formErrorArrowBottom {
  display: none;
}

/* form装飾 */
/* select */
.decorated_select {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 16px;
  width: 262px;
}

.decorated_select::before {
  z-index: 1;
  position: absolute;
  top: 37%;
  right: 16px;
  font-family: "Material Icons";
  content: "\e5cf";
  color: #7F878C;
  pointer-events: none;
}

.decorated_select select {
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 10px 20px;
  font-size: 16px;
  background-color: #fff;
}

.decorated_select select::-ms-expand {
  display: none;
}

select.decorated_select option {
  background-color: #fff;
  color: #333;
}

/* //select */
/* decorated parts */
.decoratedParts input {
  display: none;
}

.decoratedParts label {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.decoratedParts label::before {
  font-family: "Material Icons";
  font-size: 24px;
  color: #555;
  line-height: 1;
  width: 24px;
}

/* radio */
.decoratedParts.radio label::before {
  content: "\e836";
  margin-top: -4px;
}

.decoratedParts.radio input:checked + label::before {
  content: "\e837";
}

/* //radio */
/* check */
.decoratedParts.check label::before {
  content: "\f096";
}

.decoratedParts.check input:checked + label::before {
  content: "\f046";
}

/* //check */
/* //decorated parts */
/* //form装飾 */
/* 名前 */
.input-name {
  width: 33%;
}

/* 住所 */
input[name=city],
input[name=addr3],
input[name=email],
input[name=emailCheck] {
  width: 70%;
}

/* //住所 */
/* 性別 */
.genderWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.genderWrap .decoratedParts {
  background-color: #fff;
  width: 146px;
  padding: 8px;
  display: flex;
  margin-right: 8px;
  margin-left: 4%;
}

.genderWrap .decoratedParts input[name=gender] + label {
  margin-right: 8px;
}

.genderWrap p.unCheck {
  font-size: 12px;
  cursor: pointer;
  text-decoration: underline;
  margin-bottom: 0;
}

/* //性別 */
/* 誕生日 */
.birthdayPartsWrap {
  display: flex;
}

.decorated_select.birthYear {
  width: 254px;
}

.decorated_select.birthSelectSht {
  width: 96px;
}

.birthdayPartsWrap .decorated_select select {
  margin-right: 8px;
}

.birthdayPartsWrap .decorated_select::before {
  right: 32px;
}

/* //誕生日 */
/* メアド */
span.mailNotice,
.mailNotice li {
  font-size: 12px;
  text-indent: -12px;
  margin-left: 12px;
  padding: 2%;
}

span.mailNotice::before,
.mailNotice li::before {
  content: "※";
}

.confirmTable span.mailNotice {
  display: block;
}

.mailNotice li {
  text-indent: -12px;
  margin-left: 12px;
}

.mails {
  display: flex;
  flex-direction: column;
}

.mails input[type=text][name=emailCheck] {
  margin-bottom: 0;
}

/* //メアド */
/* アンケート */
.enquete .decoratedParts {
  display: flex;
  flex-wrap: wrap;
  padding: 2%;
}

.enquete .decoratedParts label {
  width: 45%;
  margin-bottom: 16px;
  margin-left: 4%;
}

.enquete input[name=kikkakeOtherText] {
  width: 70%;
}

/* //アンケート */
button[type=submit] {
  background: #d2b200;
  color: #fff;
  font-size: 24px;
  font-family: serif;
  width: 304px;
  display: block;
  margin: 30px auto 24px;
  border: none;
  text-align: center;
  cursor: pointer;
  padding: 16px;
  transition: 0.3s;
}

button[type=submit]:hover {
  background: #d4c100;
}

/* index */
.reqHead {
  background: #f5f5f5;
}

.reqHead .contentSetter {
  background: url(/img/form/thum.png) right no-repeat;
  padding: 8px 0;
}

.reqHead.formIndex .contentSetter {
  padding: 1px 0;
}

.reqHead .requestAnnounce {
  width: 480px;
  background-position: 320px 8px;
  background-size: 144px;
  padding: 20px 0 0;
}

.reqHead .requestAnnounce h2 {
  display: none;
}

.reqHead .requestAnnounce .lead {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 8px;
}

.reqHead .requestAnnounce .lead .text1 {
  font-size: 20px;
}

.reqHead .requestAnnounce .addText1 {
  font-weight: bold;
  margin-bottom: 8px;
}

.reqHead .requestAnnounce .addText2 {
  font-size: 14px;
  border: 1px solid #aced2c;
  padding: 8px;
}

/* //index */
/* confirm */
.confirm-page {
  background: #000;
}

.contentSetter {
  margin: 0 auto;
}

.confirm-page h1 {
  font-family: serif;
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-top: 4%;
}

.sendingNotice,
.return {
  text-align: center;
  font-family: serif;
}

.sendingNotice {
  color: #fff;
  margin: 0 0 16px 24px;
}

.return a {
  text-decoration: underline;
  color: #fff;
  transition: 0.3s;
  font-size: 16px;
}

.return a:hover {
  color: #fff;
}

.confirm-page .about-link-container {
  display: none;
}

.confirm-page form {
  margin: 5% 0;
}

/* //confirm */
/* send */
.send-page h1 {
  font-family: serif;
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-top: 4%;
}

.send-page .contentSetter {
  padding-bottom: 2%;
}

/* thanks */
main.thanks {
  padding-bottom: 32px;
}

.thanksWrap {
  background-color: #FFF;
  margin-bottom: 16px;
  padding: 48px 0 32px;
  text-align: center;
}

.thanksWrap .thanksMsg {
  padding-bottom: 200px;
  background: #000 url("../images/bg.jpg") center repeat-y;
  /*background: url(/img/form/thanksNoticeImg.jpg) no-repeat center bottom;*/
  background-size: 240px;
}

.thanksWrap .notice {
  font-size: 14px;
  text-align: left;
  padding: 16px 32px;
  margin: 16px;
  border: 1px solid #95260d;
}

.thanksWrap .notice p {
  margin-bottom: 0;
}

.thanksWrap .notice p:first-of-type {
  text-indent: -14px;
}

.thanksWrap p.tar {
  font-size: 14px;
  text-align: right;
  margin: 16px 32px 0 0;
}

.thanksWrap .mailTo {
  text-decoration: underline;
  color: #00aeff;
}

div.thanksMsg {
  color: #FFF;
  margin: 40px 80px 0 80px;
}

div.notice {
  color: #FFF;
  margin: 40px 70px 0 80px;
}

.notice a {
  text-decoration: underline;
  color: #00aeff;
}

/* //thanks */
.caution {
  width: 700px;
  margin: 1rem auto 0;
  border: 1px solid #FF0000;
  background-color: rgba(255, 0, 0, 0.1);
  padding: 1rem;
  color: #FFFFFF;
}

.caution ul {
  list-style: inside;
}

/* タブレット以下微調整 */
@media only screen and (max-width: 860px) {
  .reqHead .contentSetter {
    background-position: 114%;
    background-size: 45%;
  }
} /* このとじカッコは消さないこと */
/* スマホ以下 */
@media only screen and (max-width: 767px) {
  th,
input[type=text],
.decorated_select,
input[name=city],
input[name=addr3],
input[name=email],
input[name=emailCheck],
.enquete .decoratedParts label,
button[type=submit],
.reqHead .requestAnnounce,
main table input[type=text],
button[type=submit],
.enquete input[name=kikkakeOtherText] {
    width: 90%;
  }
  button[type=submit] {
    width: 40%;
  }
  .formWrap {
    width: 100%;
  }
  form {
    padding: 0;
  }
  .reqHead {
    padding: 16px;
  }
  .reqHead .contentSetter {
    background: url(/img/common/footer/foot_bnr.png) top center no-repeat;
    padding-top: 60%;
  }
  .reqHead.formIndex .contentSetter {
    padding: 0;
  }
  .reqHead .requestAnnounce {
    background-position: 95% 0;
    background-size: 100px;
  }
  .reqHead .requestAnnounce h2 {
    display: none;
  }
  .reqHead .requestAnnounce .lead {
    font-size: 20px;
  }
  .reqHead .requestAnnounce .lead .text1 {
    font-size: 16px;
  }
  .reqHead .requestAnnounce .addText1 {
    font-size: 14px;
  }
  .reqHead .requestAnnounce .addText2 {
    font-size: 14px;
    border: 1px solid #aced2c;
    padding: 8px;
  }
  .confirm-page h1 {
    font-size: 24px;
  }
  .confirm-page .formWrap {
    background-color: #000;
    padding: 0;
  }
  .confirm-page th, td {
    border: none !important;
    padding: 16px 16px 0 !important;
  }
  .confirm-page table.confirmTable {
    width: 90%;
    margin: 4% auto;
  }
  .confirm-page .gray-area,
.send-page .gray-area {
    display: none;
  }
  .confirmTable td {
    padding-top: 0;
  }
  main table {
    width: 100%;
    margin: 16px 0;
    border: 1px solid #a5a6ad;
    background-color: #efece1;
  }
  main table tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
  }
  main table th,
main table td {
    text-align: left;
    border: none;
    margin: 0;
    padding: 16px 16px 0;
    background-color: transparent;
  }
  main table th {
    font-weight: bold;
    margin-bottom: 8px;
  }
  main table th::before {
    content: "◆";
  }
  .req th, .req1 th, .req2 th {
    border-right: none;
  }
  tr.req, tr.req2 {
    border-bottom: none;
  }
  tr th span {
    padding-left: 0;
  }
  input[type=text]:first-child {
    margin: 0 0 16px;
  }
  input[type=text].input-name {
    margin: 2% 0;
  }
  .birthdayPartsWrap {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .decorated_select {
    margin: 0 0 16px 0;
  }
  .decorated_select select {
    margin: 0;
  }
  .genderWrap {
    width: 80%;
    justify-content: flex-start;
  }
  .decorated_select.birthSelectSht {
    width: 45%;
  }
  .birthdayPartsWrap .decorated_select.birthYear {
    width: 100%;
  }
  .mailNotice {
    margin-bottom: 0;
  }
  .noMail {
    display: block;
    margin-top: -8px;
  }
  .thanksWrap {
    padding: 16px;
    text-align: left;
  }
  .thanksWrap .notice {
    margin: 0;
  }
  .thanksWrap .notice p {
    margin-bottom: 16px;
  }
  div.thanksMsg {
    color: #FFF;
    margin: 40px 20px 0 20px;
  }
  div.notice {
    color: #FFF;
    margin: 40px 20px 0 20px;
  }
  .notice a {
    text-decoration: underline;
    color: #00aeff;
  }
  .caution {
    width: 100%;
    margin: 0 auto 1rem;
    border: 1px solid #FF0000;
    background-color: rgba(255, 0, 0, 0.1);
    padding: 1rem;
    font-size: 0.8rem;
  }
  .caution ul {
    list-style: inside;
    margin: 1rem 0;
  }
} /* このとじカッコは消さないこと */
@media only screen and (max-width: 376px) {
  th,
input[type=text],
.decorated_select,
input[name=city],
input[name=addr3],
input[name=email],
input[name=emailCheck],
.enquete .decoratedParts label,
button[type=submit],
.reqHead .requestAnnounce,
main table input[type=text],
button[type=submit],
.input-name {
    width: 85% !important;
  }
  .genderWrap {
    width: 100%;
  }
  .genderWrap .decoratedParts {
    margin-left: 0;
  }
}
/* footer */
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
  /*
  a[href^="tel:"]{pointer-events:none;text-decoration: none !important;}
  */
  .pc-inner {
    padding: 0 10%;
    max-width: 786px;
    margin: 0 auto;
  }
  h1 img {
    margin-bottom: -4px;
  }
  #section1 .btn .ribbon-area {
    left: -45%;
  }
  .btn .ribbon-area {
    left: -52%;
  }
  #section1 .btn a:nth-of-type(1),
.btn a:nth-of-type(1) {
    bottom: 23%;
    padding: 2%;
  }
  #section1 .btn a:nth-of-type(2),
.btn a:nth-of-type(2) {
    padding: 0 6%;
  }
  #section2 .h2 {
    background-size: 100%;
    padding: 25% 12% 6%;
  }
  #section2 .sec2-part2 .h3 {
    top: -13%;
  }
  #section3 .h2 {
    margin-bottom: 2%;
  }
  #section3 .sec3-parts {
    margin: 0;
  }
  .btn2-section {
    background-color: #FFFFE7;
    padding: 10% 0;
  }
  #section5 {
    position: relative;
    top: -123px;
  }
  #section6 {
    position: relative;
    top: -130px;
  }
  #section7 {
    position: relative;
    top: -130px;
  }
  #section8 {
    position: relative;
    top: -110px;
  }
  #section9 {
    margin-top: 0;
    padding: 20% 0 0;
  }
  #section9 .ribbon2 {
    width: 80%;
    top: 10%;
    left: 10%;
  }
  #section10 {
    padding: 7em 4% 10%;
  }
  #section11 {
    padding-top: 0;
  }
  #section11 {
    background-color: #AFAFAF;
  }
  .about-link-container {
    position: absolute;
    top: -88%;
    left: 0;
    width: 100%;
    padding: 5% 0;
    background-color: #AFAFAF;
  }
  .send-page .about-link-container {
    display: none;
  }
  .about-link-area {
    background-color: #AFAFAF;
    display: flex;
    justify-content: center;
  }
  .about-link-area a {
    padding: 4%;
  }
  .footer {
    max-width: 1230px;
    background-color: #1A1A1A;
    margin: 0 auto;
  }
  .gray-area {
    margin-bottom: 0;
  }
  .footer .footer-bottom {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 1230px) {
  /* btn */
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .content img {
    margin-bottom: -1vw;
  }
  /* btn */
  /* footer */
}
/* float banner */
/*# sourceMappingURL=style.css.map */