@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500&display=swap");
/* reset */
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; アクセシビリティ対応の為　focusを表示	*/
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  /*outline: 0; アクセシビリティ対応の為　focusを表示	*/
  text-decoration: none; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

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, th, td {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

a, input, button {
  -webkit-tap-highlight-color: 0, 0, 0, 0;
  cursor: pointer; }

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
/* 画像の下にできる隙間をなくす */
img {
  vertical-align: bottom; }

span {
  /* 上記リセットのspan用カスタマイズ */
  vertical-align: baseline;
  /* spanのvertical-alignをデフォルトに(ずれ防止) */
  font-weight: inherit;
  /* spanのfont-weightを伝承に */
  text-decoration: inherit;
  /* spanのtext-decorationを伝承に */ }

p {
  /* 上記リセットのp用カスタマイズ */
  font-weight: inherit;
  /* pのfont-weightを伝承に */
  text-decoration: inherit;
  /* pのtext-decorationを伝承に */ }

strong {
  /* 上記リセットのstrong用カスタマイズ */
  vertical-align: baseline; }

/* box-sizing */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* CSS Document */
/* =========================================================
//メディアクエリ
========================================================= */
/* =========================================================
 display
========================================================= */
@media screen and (max-width: 767.99px) {
  .sp-none {
    display: none !important; } }

@media print, screen and (min-width: 768px) {
  .pc-none {
    display: none !important; } }

/* =========================================================
 Structure Module
========================================================= */
html {
  font-size: 62.5%; }

body {
  line-height: 1.4;
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 100%;
  -webkit-text-size-adjust: 100%;
  /*iPhone や Android のブラウザの、縦向きと横向きの文字サイズを自動調整する機能をOFFにする*/
  word-break: break-all;
  background-color: #fff;
  color: #333333; }

@media screen and (max-width: 767.99px) {
  body {
    font-size: 1.4rem; } }
@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  body {
    min-width: 1200px;
    overflow: scroll; } }
#wrap {
  position: relative;
  /* jquery.pagetop.jsで、.gotopを下部に固定するため */
  overflow: hidden;
  /* モバイル観覧での余白対策 */ }

/* =========================================================
 formHeader
========================================================= */
.formHeader {
  border-bottom: 1px solid #eee;
  width: 100%; }
  @media screen and (max-width: 767.99px) {
    .formHeader {
      height: 50px; } }
  @media print, screen and (min-width: 768px) {
    .formHeader {
      height: 71px; } }
  .formHeader .formLogo {
    height: 100%;
    display: flex;
    align-items: center; }
    @media print, screen and (min-width: 768px) {
      .formHeader .formLogo {
        width: 1200px;
        padding: 0 140px;
        margin: 0 auto; } }
    .formHeader .formLogo > img {
      max-height: 100%; }
      @media screen and (max-width: 767.99px) {
        .formHeader .formLogo > img {
          width: 195px;
          height: 28px;
          margin: 11px 15px; } }
      @media print, screen and (min-width: 768px) {
        .formHeader .formLogo > img {
          width: 300px;
          height: 44px; } }

/* =========================================================
 formContents
========================================================= */
@media screen and (max-width: 767.99px) {
  .formContents {
    padding: 0 15px 90px; } }
@media print, screen and (min-width: 768px) {
  .formContents {
    width: 1200px;
    padding: 0 140px 60px;
    margin: 0 auto; } }

/* =========================================================
 formFooter
========================================================= */
.formFooter {
  border-top: 1px solid #eee; }
  .formFooter .formCopyright {
    font-size: 1.0rem;
    text-align: center;
    padding: 0.8em; }
    @media print, screen and (min-width: 768px) {
      .formFooter .formCopyright {
        width: 1200px;
        margin: 0 auto; } }

/* CSS Document */
/* img
--------------------------------------------------------- */
img.img-switch {
  /* smp-img-switch.js(PC・SPで画像切り替え) で仕様 */
  visibility: hidden; }

/* =========================================================
 Link Module
========================================================= */
a:link, a:visited {
  text-decoration: underline;
  color: #333333; }

a:active, a:focus, a:hover, a.hover {
  text-decoration: none;
  color: #333333; }

/* =========================================================
 Ul
========================================================= */
ul.base {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  ul.base > li {
    padding-left: 2em; }
    ul.base > li + li {
      margin-top: 0.2em; }
  ul.base > li {
    position: relative; }
    ul.base > li ol, ul.base > li ul {
      margin-top: 0.2em; }
  ul.base > li::before {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    background-color: #000;
    border-radius: 100%;
    position: absolute;
    top: calc(1em - 0.5em);
    left: 0.5em; }

/* =========================================================
 Ol
========================================================= */
ol.base {
  list-style-type: decimal;
  margin-left: 1.5em;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  ol.base li + li {
    margin-top: 0.2em; }
  ol.base > li ol, ol.base > li ul {
    margin-top: 0.2em; }

/* table
--------------------------------------------------------- */
table {
  border-collapse: collapse;
  border: 0px;
  margin: 0px;
  width: 100%; }

table.table {
  margin-bottom: 20px; }

table.table th[scope="row"] {
  /* 行方向の見出し */
  vertical-align: top;
  text-align: left; }

table.table th[scope="col"] {
  /* 列方向の見出し */
  text-align: center; }

@media screen and (max-width: 767.99px) {
  table.table th {
    padding: 10px 15px; } }
@media print, screen and (min-width: 768px) {
  table.table th {
    padding: 20px 30px; } }

table.table td {
  font-weight: inherit; }
  @media screen and (max-width: 767.99px) {
    table.table td {
      padding: 10px 15px 12px; } }
  @media print, screen and (min-width: 768px) {
    table.table td {
      padding: 20px 30px; } }

table.base th {
  font-weight: bold; }

table.base {
  border-bottom: #afafaf dashed 1px; }

table.base th {
  border-top: #afafaf dashed 1px; }
  @media screen and (max-width: 767.99px) {
    table.base th {
      background-color: #eee; } }

@media print, screen and (min-width: 768px) {
  table.base td {
    border-top: #afafaf dashed 1px; } }

@media print, screen and (min-width: 768px) {
  table.base td.answer {
    width: 65%; } }

@media print, screen and (min-width: 768px) {
  table.base tbody > tr.label:first-child > td {
    border-top: none; } }

@media screen and (max-width: 767.99px) {
  table.base tbody > tr.label:not(:first-child) > td {
    border-top: #afafaf dashed 1px; } }

/* 全てのborderがあるデザイン ↓*/
/* 
table.base {
	border-bottom: $table-border solid 1px;
}
table.base th {
	background-color: lighten($brand-color,45%);
	border-right: $table-border solid 1px;
	border-top: $table-border solid 1px;
	border-left: $table-border solid 1px;
}
table.base td {
	background-color: $td-bg;
	border-top: $table-border solid 1px;
	border-right: $table-border solid 1px;
	@include sp-screen() {
		border-left: $table-border solid 1px;
	}
	@include pc-screen() {
	}
}
table.base tr.label > td {
	@include sp-screen() {
		border-right: none;
		border-left: none;
	}
	@include pc-screen() {
		border-right: none;
	}
}
table.base tbody > tr.label:first-child > td {
	border-top: none;
}
 */
@media screen and (max-width: 767.99px) {
  table.table > * > tr > th,
  table.table > * > tr > td {
    display: block; }

  table.table > * > tr > th + td {
    padding-bottom: 20px; }

  table.table-sp > * > tr > th,
  table.table-sp > * > tr > td {
    display: table-cell !important;
    padding: 15px 5px !important; } }
@media screen and (max-width: 767.99px) {
  table.base tbody > tr.label:not(:first-child) > td {
    padding-top: 30px; } }
@media print, screen and (min-width: 768px) {
  table.base tbody > tr.label:not(:first-child) > td {
    padding-top: 50px; } }

table th.txac, table td.txac {
  text-align: center !important; }

table th.txal, table td.txal {
  text-align: left !important; }

table th.txar, table td.txar {
  text-align: right !important; }

table th.nowrap, table td.nowrap {
  white-space: nowrap; }

.formFlow {
  text-align: center; }
  .formFlow img {
    max-width: 100%; }

.formText {
  margin-top: 2em;
  margin-bottom: 1em;
  margin-left: 0.5em; }

.formTextCenter {
  margin-top: 2em;
  margin-bottom: 1em;
  margin-left: 0.5em;
  text-align: center; }

.formDesc {
  display: flex;
  align-items: center; }
  .formDesc img {
    margin-right: 0.5em; }

.formTitleMain {
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.4; }
  @media screen and (max-width: 767.99px) {
    .formTitleMain {
      font-size: 2.4rem;
      margin: 20px 0; } }
  @media print, screen and (min-width: 768px) {
    .formTitleMain {
      font-size: 4.8rem;
      margin: 40px 0; } }
  .formTitleMain__en {
    display: block;
    font-family: 'Shippori Mincho', serif;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.2; }
    .formTitleMain__en::first-letter {
      color: #0c9cfa; }
    @media screen and (max-width: 767.99px) {
      .formTitleMain__en {
        font-size: 3.0rem; } }
    @media print, screen and (min-width: 768px) {
      .formTitleMain__en {
        font-size: 5.0rem; } }
  .formTitleMain__jp {
    display: block; }
    @media screen and (max-width: 767.99px) {
      .formTitleMain__jp {
        font-size: 1.2rem; } }
    @media print, screen and (min-width: 768px) {
      .formTitleMain__jp {
        font-size: 1.4rem; } }

.formConsent {
  margin: 30px auto 20px;
  padding: 15px;
  background: #eee; }
  @media screen and (max-width: 767.99px) {
    .formConsent {
      width: 100%; } }
  @media print, screen and (min-width: 768px) {
    .formConsent {
      width: 690px; } }
  .formConsent > h3 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px; }
  .formConsent > .agree {
    background: #fff;
    padding: 15px;
    overflow: scroll;
    font-size: 0.9em; }
    @media screen and (max-width: 767.99px) {
      .formConsent > .agree {
        width: 100%;
        height: 200px; } }
    @media print, screen and (min-width: 768px) {
      .formConsent > .agree {
        height: 200px;
        width: 660px; } }
    .formConsent > .agree > h4 {
      margin-bottom: 0.2em;
      margin-top: 1em; }
    .formConsent > .agree > p.ind {
      padding-left: 1em; }
    .formConsent > .agree ul {
      margin-bottom: 0 !important;
      margin-top: 0 !important; }
      .formConsent > .agree ul > li {
        padding-left: 2em; }
        .formConsent > .agree ul > li + li {
          margin-top: 0.2em; }
      .formConsent > .agree ul > li {
        position: relative; }
        .formConsent > .agree ul > li ol, .formConsent > .agree ul > li ul {
          margin-top: 0.2em; }
      .formConsent > .agree ul > li::before {
        content: "";
        display: inline-block;
        width: 0.4em;
        height: 0.4em;
        background-color: #000;
        border-radius: 100%;
        position: absolute;
        top: calc(1em - 0.5em);
        left: 1em; }
    .formConsent > .agree > p.enactment {
      padding-left: 1em;
      margin-top: 1em; }

div.doui {
  margin-top: 15px;
  text-align: center;
  font-weight: bold; }

input[type="submit"] {
  appearance: none;
  -webkit-appearance: none; }

#alphaform input,
#alphaform password,
#alphaform label,
#alphaform select {
  vertical-align: middle; }

#alphaform input.text,
#alphaform input.password,
#alphaform select.select,
#alphaform textarea.textarea {
  background: #eee;
  padding: 5px 10px;
  border: 1px solid #dcdddd;
  border-top-color: #adadad;
  border-left-color: #adadad;
  vertical-align: middle;
  border-radius: 2px; }

#alphaform input.text,
#alphaform input.password,
#alphaform textarea.textarea {
  font-size: 1.6rem; }

#alphaform input[type="text"],
#alphaform input[type="password"] {
  height: 2.5em; }

#alphaform textarea {
  width: 100%;
  box-sizing: border-box;
  -webkit-box-sizing: border-box; }

#alphaform select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  background: #eee url(../images/form-arrow.png) no-repeat 100% 50% !important;
  background-size: 20px 7px;
  height: 2.5em;
  text-indent: 0;
  cursor: pointer;
  padding-right: 35px !important; }

input[type="text" disabled] {
  background: #ccc; }

textarea[disabled] {
  background: #ccc; }

#alphaform input:focus {
  border: #0c9cfa 1px solid;
  outline-color: #0c9cfa; }

#alphaform input[type=text]:focus,
#alphaform input[type=password]:focus,
#alphaform input[type="radio"]:focus,
#alphaform input[type="checkbox"]:focus,
#alphaform textarea:focus,
#alphaform select:focus {
  background: #edf4ff;
  border: #0c9cfa 1px solid;
  outline-color: #0c9cfa; }

#alphaform select.error,
#alphaform input.error,
#alphaform textarea.error {
  border: 1px #ee0000 solid;
  background-color: #ffdfdf !important; }

#alphaform input[type="radio"] {
  margin: 0 5px 0 3px; }

#alphaform input[type="checkbox"] {
  margin: -5px 5px 0 3px; }

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

#alphaform div.error {
  padding: 2px;
  margin: 0px;
  color: #ee0000; }
  #alphaform div.error::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1.4;
    margin-right: 0.3em;
    background: url(../images/icon-exclamation-triangle.png) no-repeat 0 50%;
    background-size: 100% auto;
    vertical-align: middle; }

#alphaform table td.focus {
  background-color: #ffffcc; }

#alphaform table tr.error label {
  background-color: #ffdfdf; }

#alphaform .tani {
  display: inline-block;
  margin-left: 2px; }

#alphaform .memo_top {
  display: block;
  font-size: 90%;
  margin: 0 0 0 5px; }

#alphaform .memo_bottom {
  display: block;
  font-size: 90%;
  margin: 3px 0 0 5px; }

#alphaform .memo_right {
  display: inline-block;
  font-size: 90%;
  margin: 0 0 0 10px; }

#alphaform .button {
  cursor: pointer;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 10px 20px;
  text-decoration: none;
  border: 1px solid #0c9cfa;
  background-color: #0c9cfa; }

#alphaform .button:hover,
#alphaform .button:focus {
  opacity: 0.7; }

#alphaform input[disabled].button,
#alphaform input[disabled].button:hover {
  opacity: 0.20; }

#alphaform .confirm_button {
  width: 100%; }

#alphaform .return_button {
  color: #777;
  padding: 10px 30px;
  border: 1px solid #bbb;
  background-color: #ccc; }

#alphaform .return_button:hover {
  opacity: 0.7; }

.placeholder {
  color: #999; }

#alphaform .question .icon {
  width: 45px;
  display: table-cell;
  vertical-align: top; }

#alphaform .question .text {
  display: table-cell;
  text-align: left;
  padding: 0 10px;
  vertical-align: middle;
  width: 100%; }

#alphaform .box15 {
  width: 15%; }

#alphaform .box30 {
  width: 30%; }

#alphaform .box50 {
  width: 50%; }

#alphaform .box80 {
  width: 80%; }

#alphaform .box95 {
  width: 95%; }

#alphaform .box100 {
  width: 100%; }

#alphaform .label {
  padding: 15px 5px 5px 0px;
  color: #333333;
  font-size: 1.2em;
  font-weight: bold; }

#contact.form .step {
  margin-bottom: 20px;
  margin-top: 20px;
  text-align: center; }

#contact.form .step img {
  width: 100%;
  max-width: 350px;
  height: auto;
  margin-left: auto;
  margin-right: auto; }

#alphaform .action_button {
  margin: 40px auto 15px;
  text-align: center; }

@media screen and (max-width: 767.99px) {
  #alphaform .action_button input {
    width: 280px; }

  #alphaform .action_button > div + div {
    margin-top: 10px; } }
@media print, screen and (min-width: 768px) {
  #alphaform .action_button {
    display: table;
    width: 500px; }

  #alphaform .action_button > div {
    display: table-cell; }

  #alphaform .action_button > div:first-child {
    width: 35%;
    padding-right: 10px; }

  #alphaform .action_button div input {
    width: 100%;
    margin: 0; } }
/* =========================================================
 Ul
========================================================= */
ul.ul_tate > li + li {
  margin-top: 0.2em; }

ul.ul_yoko > li {
  display: inline-block;
  padding: 0.1em 0.2em; }

/* =========================================================
 Chromeオートコンプリートの入力背景色を削除
========================================================= */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #eee inset; }
