@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Specify the box size calculation method */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Improved responsiveness of links and buttons on touch devices */
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

/* --------------------
	Settings
	変数・mixin設定
-------------------- */
/*
	書体
-------------------- */
/*
$font_googleFont02: 'Noto Sans JP', sans-serif;
$font_googleFont03: 'Noto Sans JP', sans-serif;
*/
/*
@mixin font02() {
	font-family: $font_googleFont02;
	font-weight: $font_regular;
	font-style: normal;
}
@mixin font03() {
	font-family: $font_googleFont03;
	font-weight: $font_regular;
	font-style: normal;
}
*/
/*
	カラー
-------------------- */
/*
	その他
-------------------- */
/* --------------------
	Base
	基本設定
-------------------- */
html {
  font-size: 1.8vw; }
  @media screen and (min-width: 1000px) {
    html {
      font-size: 18px; } }
  @media screen and (max-width: 768px) {
    html {
      font-size: 3.86vw; } }

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal; }
  body a {
    color: inherit;
    text-decoration: none;
    /*&[href^="tel:"] {
    	pointer-events: none;
    }*/ }
  body img {
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  body em {
    font-style: normal; }
  body li {
    list-style: none; }
  body h1, body h2, body h3, body h4, body h5, body h6 {
    font-weight: inherit; }

.wrap {
  background: white;
  width: 100%;
  color: #000000; }
  @media screen and (max-width: 768px) {
    .wrap {
      /*a {
      	&[href^="tel:"] {
      		pointer-events: auto;
      	}
      }*/ } }

/* --------------------
	Layout
	Mail form
-------------------- */
/* Settings */
/* Mixin */
/* common parts */
/* button */
/*
	Base settings
------------------------------------------------------------ */
body#confirm .wrap, body#thanks .wrap {
  min-height: 100vh;
  height: 100%;
  border-bottom: 3rem solid #104789;
  display: flex;
  flex-flow: column; }
@media screen and (max-width: 768px) {
  body#confirm .wrap, body#thanks .wrap {
    border-bottom-width: 5vw; } }

/*
	Contents
------------------------------------------------------------ */
.contents {
  min-height: 30%;
  color: black;
  flex: 1; }

/* form */
.form {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 1rem 0 4rem;
  line-height: 1.8em; }
  .form__list-item {
    margin: 0 0 1rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid #000000;
    text-align: left; }
    .form__list-item .head {
      padding: 0 0 .5em;
      line-height: 1.8em;
      font-weight: 600;
      position: relative; }
    .form__list-item .body {
      min-height: 1.8em;
      line-height: 1.8em; }
      .form__list-item .body .note:first-child {
        padding: 0 0 .5em; }
    .form__list-item .small {
      font-size: .77em; }
    .form__list-item .note {
      padding: .5em 0 0;
      font-size: .88em; }
    .form__list-item .error {
      color: #ff1421;
      font-size: .88em; }
    .form__list-item .icon {
      margin-right: 1em;
      padding: .2em .5em;
      line-height: 1em;
      font-size: .88em;
      font-weight: 400;
      vertical-align: middle;
      display: inline-block; }
      .form__list-item .icon-required {
        background: #db3e3e;
        color: white; }
      .form__list-item .icon-optional {
        background: #999999;
        color: white; }
    .form__list-item:last-child {
      margin: 0;
      padding: 0;
      border-bottom: none; }
  .form__privacy {
    padding: 3rem 0;
    text-align: center; }
    .form__privacy-item01 {
      margin: 0 auto;
      padding: .5rem;
      border: 1px solid #000000;
      border-radius: .5rem; }
      .form__privacy-item01 .inner {
        width: 100%;
        height: 15rem;
        padding: 0 1.5rem;
        overflow-y: scroll; }
        .form__privacy-item01 .inner::-webkit-scrollbar {
          width: .5rem; }
        .form__privacy-item01 .inner::-webkit-scrollbar-track {
          background-color: #262626;
          border-radius: 10rem; }
        .form__privacy-item01 .inner::-webkit-scrollbar-thumb {
          background-color: #000000;
          border-radius: 10rem; }
      .form__privacy-item01 .heading {
        padding: 0 0 1rem;
        line-height: 1.8em;
        font-size: 1.1rem;
        font-weight: 700;
        text-align: center; }
      .form__privacy-item01 .text {
        padding: 0 0 1rem;
        line-height: 1.8em;
        font-size: .8rem;
        text-align: left; }
        .form__privacy-item01 .text strong {
          font-weight: 700; }
      .form__privacy-item01 .right {
        text-align: right; }
    .form__privacy-item02 {
      padding: 1rem 0 0; }
    .form__privacy-item03 p {
      padding: .5rem 0 0; }
    .form__privacy label {
      font-size: 1.2rem; }
      .form__privacy label.checkbox {
        margin: 0 !important; }
    .form__privacy .error {
      color: #ff1421;
      font-size: .88em; }
    .form__privacy a {
      transition: all 0.2s ease-in-out;
      cursor: pointer;
      border-bottom: 1px solid #000000;
      color: #ff0000; }
      .form__privacy a:hover {
        opacity: .7; }
      @media screen and (max-width: 768px) {
        .form__privacy a:hover {
          opacity: 1; } }
  .form__text {
    max-width: 700px;
    margin: 0 auto;
    padding: 3rem 0;
    line-height: 1.8em; }
  .form__button {
    width: 90%;
    max-width: 405px;
    margin: 0 auto;
    text-align: center; }
    .form__button button[type='submit'] {
      background-color: transparent;
      border: none;
      font-family: inherit;
      font-size: inherit;
      cursor: pointer;
      outline: none;
      padding: 0;
      transition: all 0.2s ease-in-out;
      cursor: pointer;
      margin: 0 auto;
      padding: 1.5rem 1rem;
      border-radius: 10rem;
      line-height: 1;
      font-size: 1.33rem;
      font-weight: 700;
      display: block;
      background-color: #ab3434;
      background-image: linear-gradient(to right, #ab3434, #ab3434);
      color: white;
      width: 100%;
      display: block; }
      .form__button button[type='submit']:hover {
        opacity: .7; }
      @media screen and (max-width: 768px) {
        .form__button button[type='submit']:hover {
          opacity: 1; } }
      @media screen and (max-width: 768px) {
        .form__button button[type='submit'] {
          padding: 3vw 2vw; } }
    .form__button button[type='button'] {
      background-color: transparent;
      border: none;
      font-family: inherit;
      font-size: inherit;
      cursor: pointer;
      outline: none;
      padding: 0;
      transition: all 0.2s ease-in-out;
      cursor: pointer;
      margin: 0 auto;
      padding: 1.5rem 1rem;
      border-radius: 10rem;
      line-height: 1;
      font-size: 1.33rem;
      font-weight: 700;
      display: block;
      background-color: #000000;
      background-image: linear-gradient(#000000, form_button_other02);
      color: white;
      width: 100%;
      margin-top: 1rem;
      display: block; }
      .form__button button[type='button']:hover {
        opacity: .7; }
      @media screen and (max-width: 768px) {
        .form__button button[type='button']:hover {
          opacity: 1; } }
      @media screen and (max-width: 768px) {
        .form__button button[type='button'] {
          padding: 3vw 2vw; } }
    .form__button a {
      background-color: transparent;
      border: none;
      font-family: inherit;
      font-size: inherit;
      cursor: pointer;
      outline: none;
      padding: 0;
      transition: all 0.2s ease-in-out;
      cursor: pointer;
      margin: 0 auto;
      padding: 1.5rem 1rem;
      border-radius: 10rem;
      line-height: 1;
      font-size: 1.33rem;
      font-weight: 700;
      display: block;
      background-color: #000000;
      background-image: linear-gradient(#000000, form_button_other02);
      color: white;
      width: 100%;
      margin-top: 1rem;
      display: block; }
      .form__button a:hover {
        opacity: .7; }
      @media screen and (max-width: 768px) {
        .form__button a:hover {
          opacity: 1; } }
      @media screen and (max-width: 768px) {
        .form__button a {
          padding: 3vw 2vw; } }
  .form__note {
    padding: 3rem 0 0;
    font-size: .88rem;
    text-align: left; }
  .form input[type='text'],
  .form input[type='email'],
  .form input[type='tel'],
  .form input[type='number'],
  .form input[type='date'],
  .form select,
  .form textarea {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
    background: white;
    width: 100%;
    padding: .5rem;
    border: 1px solid #bcbcbc;
    border-radius: .5em;
    line-height: 1.8em;
    font-size: 1rem; }
    .form input[type='text']:placeholder-shown,
    .form input[type='email']:placeholder-shown,
    .form input[type='tel']:placeholder-shown,
    .form input[type='number']:placeholder-shown,
    .form input[type='date']:placeholder-shown,
    .form select:placeholder-shown,
    .form textarea:placeholder-shown {
      background: #f3f3f3; }
    .form input[type='text']:not(:placeholder-shown),
    .form input[type='email']:not(:placeholder-shown),
    .form input[type='tel']:not(:placeholder-shown),
    .form input[type='number']:not(:placeholder-shown),
    .form input[type='date']:not(:placeholder-shown),
    .form select:not(:placeholder-shown),
    .form textarea:not(:placeholder-shown) {
      background: white; }
    .form input[type='text'].short,
    .form input[type='email'].short,
    .form input[type='tel'].short,
    .form input[type='number'].short,
    .form input[type='date'].short,
    .form select.short,
    .form textarea.short {
      width: calc((100% - 3rem) / 3); }
  .form input[type='date'] {
    width: calc((100% - 3rem) / 3);
    max-width: 20em; }
  .form textarea {
    min-height: 10em;
    vertical-align: bottom;
    resize: vertical; }
  .form label.radio, .form label.checkbox {
    margin: 0 1rem 0 0;
    padding: 0 0 0 2rem;
    line-height: 1.8em;
    font-weight: 500;
    position: relative;
    display: inline-block;
    cursor: pointer; }
  .form label input[type='radio'],
  .form label input[type='checkbox'] {
    width: 1.5rem;
    height: 1.5rem;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0; }
  .form label.birthday select {
    width: 25%;
    max-width: 6rem; }
  .form label.postalcode input {
    width: 10em; }
  .form label.age input {
    width: 5em;
    margin-right: .5em;
    ime-mode: disabled; }
  .form label.date {
    display: flex;
    flex-flow: wrap;
    justify-content: flex-start; }
    .form label.date input,
    .form label.date select {
      width: calc((100% - 3rem) / 3);
      max-width: 20em;
      margin: 0 1rem 0 0; }
      .form label.date input:last-child,
      .form label.date select:last-child {
        margin-right: 0; }
  .form .radio-wrap {
    margin-bottom: -1rem;
    display: flex;
    flex-flow: wrap;
    align-items: flex-start;
    justify-content: flex-start; }
    .form .radio-wrap label.radio {
      width: calc((100% - 3rem) / 3);
      margin-bottom: 1rem;
      text-align: left; }
  .form .checkbox-wrap {
    margin-bottom: -1rem;
    display: flex;
    flex-flow: wrap;
    align-items: flex-start;
    justify-content: flex-start; }
    .form .checkbox-wrap label.checkbox {
      width: calc((100% - 3rem) / 3);
      margin-bottom: 1rem;
      text-align: left; }
  .form input.required,
  .form select.required,
  .form textarea.required {
    border-color: #ff0000 !important; }
  @media screen and (max-width: 768px) {
    .form {
      padding: 5vw 0; }
      .form__progress {
        padding: 0 0 10vw; }
        .form__progress-item {
          padding: 0 3vw;
          font-size: .77rem;
          height: 10vw;
          line-height: 10vw; }
          .form__progress-item::before, .form__progress-item::after {
            border-width: calc(5vw + 2px) 0 calc(5vw + 2px) 3vw; }
      .form__list-item {
        margin: 0 0 3vw;
        padding: 0 0 3vw; }
        .form__list-item .head {
          width: 100%;
          padding: 0 0 2vw; }
        .form__list-item .body {
          width: 100%;
          padding: 0; }
          .form__list-item .body label.radio, .form__list-item .body label.checkbox {
            width: 100%; }
        .form__list-item .icon-required, .form__list-item .icon-optional {
          margin: 0 .5rem 0 0;
          position: static;
          display: inline-block; }
      .form__privacy {
        margin: 10vw 0;
        padding: 4vw; }
        .form__privacy-item02 {
          padding: .5rem 0;
          text-align: center; }
      .form__text {
        padding: 5vw 0; }
      .form__button {
        width: 80%;
        max-width: none; }
      .form input[type='text'],
      .form input[type='email'],
      .form input[type='tel'],
      .form input[type='number'],
      .form input[type='date'],
      .form select,
      .form textarea {
        padding: 2vw;
        line-height: 2rem;
        font-size: 1.15rem; }
        .form input[type='text'].short,
        .form input[type='email'].short,
        .form input[type='tel'].short,
        .form input[type='number'].short,
        .form input[type='date'].short,
        .form select.short,
        .form textarea.short {
          width: 100%;
          max-width: none; }
      .form input[type='date'] {
        width: 100%;
        max-width: none; }
      .form textarea {
        min-height: 5em; }
      .form label.radio, .form label.checkbox {
        margin: 0;
        padding: 0 0 0 2.2rem; }
      .form label.date {
        display: flex;
        flex-flow: wrap;
        justify-content: flex-start; }
        .form label.date input,
        .form label.date select {
          width: 100%;
          max-width: none;
          margin: 0 0 3vw; }
          .form label.date input:last-child,
          .form label.date select:last-child {
            margin: 0; }
      .form .radio-wrap {
        display: block; }
        .form .radio-wrap label.radio {
          width: 100%;
          margin-right: 0; }
      .form .checkbox-wrap {
        display: block; }
        .form .checkbox-wrap label.checkbox {
          width: 100%;
          margin-right: 0; } }

/* confirm , thanks */
.confirm__inner,
.thanks__inner {
  width: 90vw;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center; }
.confirm__heading,
.thanks__heading {
  background-color: #104789;
  padding: 2rem 0;
  line-height: 1.8em;
  color: white;
  font-size: 2rem;
  font-weight: 700;
  text-align: center; }
.confirm__text,
.thanks__text {
  padding: 0 0 2rem;
  line-height: 1.8em;
  text-align: center; }
.confirm .form__list-item:last-child,
.thanks .form__list-item:last-child {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #000000; }
@media screen and (max-width: 768px) {
  .confirm__heading,
  .thanks__heading {
    padding: 4vw 0;
    font-size: 1.5rem; }
  .confirm__text,
  .thanks__text {
    text-align: left; } }

.thanks__text {
  background: #f3f3f3;
  margin: 0 0 3rem;
  padding: 2rem 1rem;
  color: #000000;
  line-height: 1.8em;
  font-size: 1.11rem;
  font-weight: 500;
  text-align: center; }
  .thanks__text-item {
    padding: 0 0 1.5rem; }
    .thanks__text-item:last-child {
      padding: 0; }
@media screen and (max-width: 768px) {
  .thanks__heading {
    padding: 4vw 0;
    font-size: 1.5rem; }
  .thanks__text {
    margin: 0 0 10vw;
    padding: 4vw;
    font-size: 1rem;
    font-weight: 400;
    text-align: left; }
    .thanks__text-item {
      padding: 0 0 4vw; }
      .thanks__text-item:last-child {
        padding: 0; }
    .thanks__text br {
      display: none; } }
