@charset "UTF-8";
/* 初期化 */
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap&text=0123456789");
* {
  box-sizing: border-box;
  line-break: strict;
  word-break: break-all;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

HTML,
BODY {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  height: 100%;
  min-height: 100%; }

HTML:focus-within {
  scroll-behavior: smooth; }

FIGURE {
  margin: 0 0 0 0;
  padding: 0 0 0 0; }

H1, H2, H3, H4, H5, H6,
P,
BLOCKQUOTE,
DL, DT, DD,
UL,
OL,
LI {
  margin: 0 0 0 0;
  padding: 0 0 0 0; }

IMG {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: top; }

CANVAS,
EMBED,
IFRAME {
  vertical-align: bottom; }

A {
  -webkit-touch-callout: none; }

A,
A:link,
A:visited {
  text-decoration: none; }

A:hover,
A:focus {
  text-decoration: none; }

A:focus {
  outline: none; }

TABLE {
  border-collapse: collapse; }

ADDRESS,
CITE {
  font-style: normal; }

FIELDSET {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  border: none; }
  FIELDSET INPUT[type="checkbox"],
  FIELDSET INPUT[type="radio"] {
    margin: 0; }

INPUT, TEXTAREA, SELECT {
  outline: none; }

INPUT,
SELECT,
BUTTON,
TEXTAREA {
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0; }

SELECT {
  border: 0;
  cursor: pointer; }

BUTTON,
INPUT[type="FILE"],
INPUT[type="RADIO"],
INPUT[type="CHECKBOX"] {
  cursor: pointer; }

BUTTON {
  border: none;
  outline: none;
  background: transparent; }

LABEL[for] {
  cursor: pointer; }

PROGRESS {
  vertical-align: baseline; }

HEADER LI,
NAV LI,
FOOTER LI {
  list-style-type: none; }

HEADER A,
NAV A,
FOOTER A {
  text-decoration: none; }

SUMMARY:hover {
  cursor: pointer; }

HR {
  clear: both;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  height: 0;
  border: 0; }

@font-face {
  font-family: "FontAwesome";
  src: url("../font/fontawesome/fontawesome-webfont.eot?v=4.7.0");
  src: url("../font/fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../font/fontawesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../font/fontawesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../font/fontawesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../font/fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
::selection {
  color: #fff;
  background-color: #3abec1; }

@media screen and (max-width: 640px) {
  HTML {
    font-size: 14px; } }
@media screen and (min-width: 641px) {
  HTML {
    font-size: 15.4px; } }

BODY {
  color: #232323;
  font-weight: 500;
  line-height: 1.64;
  background-color: #FDFDFD;
  position: relative; }
  @media screen and (max-width: 640px) {
    BODY {
      font-family: Roboto, HiraKakuProN-W3, sans-serif; } }
  @media screen and (min-width: 641px) {
    BODY {
      font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; } }

A,
A:link,
A:visited {
  color: #00c2b9; }

A:hover,
A:focus {
  color: #ff3d45; }

@media screen and (min-width: 641px) {
  .disp-sp {
    display: none; } }
@media screen and (min-width: 641px) and (max-width: 967px) {
  .disp-sp,
  .disp-pc {
    display: none; } }
@media screen and (max-width: 640px) {
  .disp-pc,
  .disp-tab {
    display: none; } }
BUTTON,
INPUT,
SELECT,
TEXTAREA {
  font-family: inherit;
  font-size: 100%; }

/* Language */
.lang-en {
  font-family: Helvetica, Arial, sans-serif; }
  .lang-en * {
    word-break: keep-all; }

.lang-zh-CN {
  font-family: "Microsoft YaHei UI", Helvetica, Arial, sans-serif; }

.lang-zh-TW {
  font-family: "Microsoft JhengHei UI", "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-de {
  font-family: Helvetica, Arial, sans-serif; }

.lang-tr {
  font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-ko {
  font-family: "Malgun Gothic", Arial, sans-serif; }

.lang-hi {
  font-family: "Nirmala UI", NirmalaUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-es {
  font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-ar {
  font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-pt {
  font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-ru {
  font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-fr {
  font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.lang-bn {
  font-family: "Nirmala UI", NirmalaUI, "Helvetica Neue", Helvetica, Arial, sans-serif; }

.vw100 {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%); }

*:has(> .vw100) {
  overflow: visible; }

/********* */
/* ボタン */
/********* */
.btn, .btn2, .btn3 {
  text-decoration: none;
  display: inline-block;
  line-height: 1.64;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  user-select: none; }
  .btn > SPAN, .btn2 > SPAN, .btn3 > SPAN {
    display: inline-block; }

.btn {
  color: #FFFFFF;
  background-color: #343434;
  border: #343434 1px solid;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.btn2 {
  color: #343434;
  background-color: #FFFFFF;
  border: #343434 1px solid;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.btn3 {
  background-color: transparent; }

.btnS {
  font-size: 0.86rem;
  padding: 0.336em 0.64em 0.304em; }

.btnM {
  font-size: 1rem;
  padding: 0.336em 0.64em 0.304em; }

.btnL {
  font-size: 1.2rem;
  padding: 0.336em 0.64em 0.304em; }

.btn, A.btn, .btn2, A.btn2 {
  text-align: center; }

.btn, A.btn {
  color: #FFFFFF; }

.btn2, A.btn2 {
  color: #343434; }

BUTTON.btn:hover, BUTTON.btn:focus, INPUT.btn:hover, INPUT.btn:focus, A.btn:hover, A.btn:focus {
  background-color: #5bd4e8;
  border-color: #5bd4e8;
  cursor: pointer; }

BUTTON.btn2:hover, BUTTON.btn2:focus, INPUT.btn2:hover, INPUT.btn2:focus, A.btn2:hover, A.btn2:focus {
  color: #FFFFFF;
  background-color: #5bd4e8;
  border-color: #5bd4e8;
  cursor: pointer; }

.btn_negative {
  background-color: #878787;
  border-color: #878787; }

.btn_caution {
  background-color: #CE0D0D;
  border-color: #CE0D0D;
  color: #FFFFFF; }

.btn_disable {
  pointer-events: none;
  background-color: #ABABAB !important;
  border-color: #ABABAB !important;
  color: #FFFFFF !important; }

.btn_externalLink SPAN::after,
A[target="_blank"] SPAN::after {
  font-family: FontAwesome;
  content: ""; }

STRONG.btn {
  display: inline-block;
  margin-right: 0.25em;
  margin-left: 0.25em;
  font-weight: 500;
  text-indent: 0; }

.btn-block {
  display: block; }

NAV.btnArea {
  min-width: 1024px;
  width: 94%;
  margin: auto;
  text-align: right;
  margin-right: 8px;
  margin-bottom: 12px; }

DIV.btnArea, DIV.btnArea2set {
  clear: both;
  margin: auto;
  margin-bottom: 1.64rem; }

.box_search DIV DIV.btnArea,
.box_search DIV DIV.btnArea2set {
  padding-top: 18px; }

TABLE + DIV.btnArea,
TABLE + DIV.btnArea2set {
  padding-top: 12px; }

/* ボタン1つ */
@media screen and (max-width: 480px) {
  DIV.btnArea {
    min-width: 16rem;
    width: 100%; } }
@media all and (min-width: 481px) {
  DIV.btnArea {
    min-width: 54px;
    width: 60%; } }
TD DIV.btnArea {
  margin: auto; }

DIV.btnArea A.btn,
DIV.btnArea INPUT.btn,
DIV.btnArea BUTTON.btn,
DIV.btnArea A.btn2,
DIV.btnArea INPUT.btn2,
DIV.btnArea BUTTON.btn2 {
  display: block;
  width: 100%; }

/* ボタン2つ */
@media screen and (max-width: 480px) {
  DIV.btnArea2set {
    width: 80%;
    overflow: hidden; }
    DIV.btnArea2set A.btn, DIV.btnArea2set INPUT.btn, DIV.btnArea2set BUTTON.btn, DIV.btnArea2set A.btn2, DIV.btnArea2set INPUT.btn2, DIV.btnArea2set BUTTON.btn2 {
      width: 44%;
      margin-left: 3%;
      margin-right: 3%;
      float: left; } }
@media all and (min-width: 481px) {
  DIV.btnArea2set {
    width: clamp(300px, 62%, 600px);
    overflow: hidden; }
    DIV.btnArea2set A.btn, DIV.btnArea2set INPUT.btn, DIV.btnArea2set BUTTON.btn, DIV.btnArea2set A.btn2, DIV.btnArea2set INPUT.btn2, DIV.btnArea2set BUTTON.btn2 {
      width: 44%;
      margin-left: 3%;
      margin-right: 3%;
      float: left; } }
DL + DIV.btnArea,
DL + DIV.btnArea2set,
OL + DIV.btnArea,
OL + DIV.btnArea2set,
UL + DIV.btnArea,
UL + DIV.btnArea2set {
  margin-top: 1.32rem; }

/* 設定 */
/* 必須 */
/* 任意 */
/* placeholder */
/* 角丸 */
/* レイアウト */
/* 必須 */
.mef SPAN {
  display: block;
  padding-right: 0.75em;
  position: relative; }
.mef SPAN::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "必須";
  color: #FFFFFF;
  font-size: 10px;
  line-height: 1;
  display: inline-block;
  padding: 2px 3px;
  background-color: #E21874; }

_:-ms-lang(x)::-ms-backdrop,
.mef SPAN::after {
  padding-top: 4px;
  padding-bottom: 0; }

/* 任意 */
.nomef SPAN::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "任意";
  color: #FFFFFF;
  font-size: 10px;
  line-height: 1;
  display: inline-block;
  padding: 2px 3px;
  background-color: #E21874; }

/* 入力例 */
::placeholder,
::-ms-input-placeholder,
::-ms-input-placeholder {
  color: #656565;
  font-size: 1em; }

.note {
  color: #666; }

.eg {
  color: #666; }

.inputAlert {
  color: #cc0000; }

FORM .inputAlert {
  padding-left: 1.75em;
  padding-top: 0.2em;
  background: url(../img/icon/ani_alert.gif) left top no-repeat;
  min-height: 10px;
  background-size: 1.4em 1.4em;
  font-size: 0.75em;
  line-height: 1.5; }

_:-ms-lang(x)::-ms-backdrop, FORM .inputAlert {
  background-position: left top 1px; }

P.inputAlert + P {
  margin-top: -1.64em; }

.alertBox {
  margin-bottom: 7px; }

/* ここから */
FIELDSET {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  border: none;
  position: relative; }
  FIELDSET INPUT[type="checkbox"],
  FIELDSET INPUT[type="radio"] {
    position: absolute;
    width: 1;
    height: 1; }

INPUT {
  vertical-align: middle; }

INPUT[type="checkbox"],
INPUT[type="radio"] {
  opacity: 0; }

INPUT[type="checkbox"] + LABEL::before,
INPUT[type="radio"] + LABEL::before {
  font-family: "FontAwesome";
  display: inline-block;
  width: 1.42em; }

INPUT[type="checkbox"] + LABEL::before {
  content: ""; }

INPUT[type="checkbox"]:checked + LABEL::before {
  content: ""; }

INPUT[type="radio"] + LABEL::before {
  content: ""; }

INPUT[type="radio"]:checked + LABEL::before {
  content: ""; }

INPUT:hover[type="checkbox"] + LABEL,
INPUT:hover[type="radio"] + LABEL,
INPUT:focus[type="checkbox"] + LABEL,
INPUT:focus[type="radio"] + LABEL {
  color: #00dbd1; }

INPUT[type="file"] {
  opacity: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

INPUT[type="file"]::file-selector-button,
INPUT[type="file"]::-webkit-file-upload-button {
  border: #00dbd1 1px solid; }

INPUT[type="TEXT"],
INPUT[type="TEL"],
INPUT[type="EMAIL"],
INPUT[type="PASSWORD"],
INPUT[type="NUMBER"],
INPUT[type="DATE"],
INPUT[type="DATETIME-LOCAL"],
INPUT[type="MONTH"],
INPUT[type="TIME"],
INPUT[type="WEEK"],
INPUT[type="SEARCH"],
INPUT[type="URL"],
TEXTAREA {
  padding: 0.25rem;
  /* 調整用 フォントサイズが16px以下指定の時に使用 */
  transform-origin: top left;
  border: #08215C 1px solid;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #FFFFFF;
  color: #232323; }
  @media screen and (max-width: 640px) {
    INPUT[type="TEXT"],
    INPUT[type="TEL"],
    INPUT[type="EMAIL"],
    INPUT[type="PASSWORD"],
    INPUT[type="NUMBER"],
    INPUT[type="DATE"],
    INPUT[type="DATETIME-LOCAL"],
    INPUT[type="MONTH"],
    INPUT[type="TIME"],
    INPUT[type="WEEK"],
    INPUT[type="SEARCH"],
    INPUT[type="URL"],
    TEXTAREA {
      font-size: 14px; } }
  @media screen and (min-width: 641px) {
    INPUT[type="TEXT"],
    INPUT[type="TEL"],
    INPUT[type="EMAIL"],
    INPUT[type="PASSWORD"],
    INPUT[type="NUMBER"],
    INPUT[type="DATE"],
    INPUT[type="DATETIME-LOCAL"],
    INPUT[type="MONTH"],
    INPUT[type="TIME"],
    INPUT[type="WEEK"],
    INPUT[type="SEARCH"],
    INPUT[type="URL"],
    TEXTAREA {
      font-size: 15.4px; } }

SELECT {
  width: 20em;
  padding: 0.25rem;
  vertical-align: top;
  box-shadow: 0 0 0 1px #08215C;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #FFFFFF;
  color: #232323;
  width: calc(100% - 1.42em);
  border: none;
  background-color: transparent;
  background-image: url(../img/icon/icon_selectDownRound.svg);
  background-position: right 0.4em center;
  background-repeat: no-repeat;
  background-size: 0.8em;
  padding-right: 0.8em; }
  SELECT::-ms-expand {
    display: none; }

INPUT[type="date"],
INPUT[type="datetime-local"],
INPUT[type="month"] {
  min-height: 2.14rem; }

INPUT[type="month"] {
  min-width: 8em; }

INPUT[type="date"] {
  min-width: 8em; }

INPUT[type="datetime-local"] {
  min-width: 11.5em; }

INPUT:focus[type="radio"] + LABEL {
  color: #00dbd1;
  outline: none; }

.wrapSelect {
  min-width: 12em;
  width: 100%;
  position: relative;
  border: #08215C 1px solid;
  background-color: #FFFFFF;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden; }

.wrapSelect::after {
  position: absolute;
  right: 0;
  top: 0;
  font-family: "FontAwesome";
  content: "";
  display: inline-block;
  width: 1.42em; }

SELECT:hover,
SELECT:focus {
  box-shadow: 0 0 0 1px #08215C;
  background-color: #D1DEFA; }

.wrapSelect:has(> SELECT:hover),
.wrapSelect:has(> SELECT:focus),
INPUT[type="TEXT"]:hover,
INPUT[type="TEXT"]:focus,
INPUT[type="TEL"]:hover,
INPUT[type="TEL"]:focus,
INPUT[type="EMAIL"]:hover,
INPUT[type="EMAIL"]:focus,
INPUT[type="SEARCH"]:hover,
INPUT[type="SEARCH"]:focus,
INPUT[type="URL"]:hover,
INPUT[type="URL"]:focus,
INPUT[type="PASSWORD"]:hover,
INPUT[type="PASSWORD"]:focus,
INPUT[type="DATE"]:hover,
INPUT[type="DATE"]:focus,
INPUT[type="DATETIME-LOCAL"]:hover,
INPUT[type="DATETIME-LOCAL"]:focus,
INPUT[type="MONTH"]:hover,
INPUT[type="MONTH"]:focus,
INPUT[type="TIME"]:hover,
INPUT[type="TIME"]:focus,
INPUT[type="WEEK"]:hover,
INPUT[type="WEEK"]:focus,
INPUT[type="SEARCH"]:hover,
INPUT[type="SEARCH"]:focus,
INPUT[type="NUMBER"]:hover,
INPUT[type="NUMBER"]:focus,
TEXTAREA:hover,
TEXTAREA:focus {
  background-color: #D1DEFA;
  border: #00dbd1 1px solid; }

LABEL {
  display: inline-block;
  margin-right: 1em; }

INPUT {
  margin-right: 0.25em; }

INPUT + SPAN.eg {
  display: inline-block;
  margin-right: 0.25em; }

.fullname INPUT[type="TEXT"],
INPUT.name {
  width: 20em; }

.name INPUT[type="TEXT"],
INPUT.name_a,
INPUT.name_b,
INPUT.nm_a,
INPUT.nm_b,
nm_a_old {
  width: 10em; }

@media screen and (min-width: 641px) {
  .name INPUT + INPUT {
    margin-left: 0.5em; } }

.fullname_ruby INPUT[type="TEXT"],
INPUT.name_ruby {
  width: 100%;
  max-width: 24em; }

.name_ruby INPUT[type="TEXT"],
INPUT.name_ruby_a,
INPUT.name_ruby_b,
INPUT.nm_ruby_a,
INPUT.nm_ruby_b {
  width: 12em; }
  @media screen and (max-width: 640px) {
    .name_ruby INPUT[type="TEXT"],
    INPUT.name_ruby_a,
    INPUT.name_ruby_b,
    INPUT.nm_ruby_a,
    INPUT.nm_ruby_b {
      width: 10em; } }

@media screen and (min-width: 641px) {
  .name_ruby INPUT + INPUT {
    margin-left: 0.5em; } }

INPUT.zip {
  width: 10em; }

SELECT.pref {
  width: 6em; }

INPUT.addr_a,
INPUT.addr_b,
INPUT.addr_c,
.email INPUT[type="TEXT"],
INPUT.email {
  width: 100%; }

INPUT.tel,
INPUT.fax {
  width: 15em; }

INPUT.url {
  width: 100%; }

INPUT.company_name,
INPUT.membership_name,
INPUT.organization_name,
INPUT.dept_name,
INPUT.dept,
INPUT.section_name {
  width: 100%; }

SELECT.occupation {
  width: 18em; }

INPUT.sector,
SELECT.sector,
INPUT.industry,
SELECT.industry {
  width: 20em; }

INPUT.dateY4M2D2 {
  width: 10em; }

INPUT.yearY4,
SELECT.yearY4 {
  width: 6em; }

INPUT.monthM2,
SELECT.monthM2,
INPUT.dayD2,
SELECT.dayD2 {
  width: 4em; }

INPUT.subject {
  width: 100%; }

TEXTAREA {
  width: 100%;
  height: 8em; }

.cc-name {
  width: 16em; }

.cc-number {
  width: 16em; }

.cc-exp .cc-exp-month {
  width: 4em; }
.cc-exp .cc-exp-year {
  width: 4em; }

DIV.agreeBox {
  text-align: center;
  margin-bottom: 1em; }

.selectArea SELECT {
  vertical-align: middle; }
.selectArea > SPAN {
  vertical-align: middle;
  font-size: 0.85em; }

/**************************** */
/* レイアウト                  */
/**************************** */
#wrapBase {
  position: relative;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  padding-bottom: 46px; }
  #wrapBase HEADER {
    display: block; }
    @media screen and (max-width: 640px) {
      #wrapBase HEADER {
        position: fixed;
        width: 100%;
        min-width: 100%;
        top: 0;
        left: 0;
        height: 64px; } }
    @media screen and (max-width: 967px) {
      #wrapBase HEADER {
        display: block;
        position: relative;
        width: 100%;
        min-width: 320px;
        height: 64px;
        z-index: 8000; }
        #wrapBase HEADER > DIV {
          width: 100%;
          height: 64px;
          margin: auto; } }
    @media screen and (min-width: 968px) {
      #wrapBase HEADER {
        display: block;
        position: relative;
        width: 100%;
        height: 64px;
        z-index: 8000; }
        #wrapBase HEADER > DIV {
          min-width: 968px;
          width: 100%;
          max-width: 100%;
          height: 108px;
          margin: auto; } }

NAV#globalMainMenu {
  position: relative;
  z-index: 8900;
  margin: auto; }
  NAV#globalMainMenu > UL > LI {
    display: inline-block; }

@media screen and (min-width: 1159px) {
  NAV#globalMainMenu {
    width: calc(50% + 114px);
    height: 120px;
    margin-left: calc(50% - 114px);
    margin-top: -60px;
    margin-bottom: 36px; } }
@media screen and (min-width: 968px) and (max-width: 1158px) {
  NAV#globalMainMenu {
    margin-top: -96px;
    margin-left: 478px;
    width: calc(100vw - 478px);
    margin-bottom: 36px; } }
@media screen and (max-width: 960px) {
  NAV#globalMainMenu {
    width: 100%;
    position: fixed;
    top: 12px; }
    NAV#globalMainMenu > UL {
      margin-top: 62px; }
    NAV#globalMainMenu UL {
      display: flex;
      flex-wrap: wrap; }
      NAV#globalMainMenu UL LI {
        display: block;
        width: 50%; } }
#home #wrapContents {
  margin-top: 1rem; }

#wrapContents {
  width: 1168px;
  margin: auto;
  margin-top: 26px;
  margin-bottom: 4.92rem; }
  #wrapContents #wrapImageArea #topImage IMG {
    width: 100%;
    min-width: 960px;
    height: auto;
    margin: auto;
    margin-top: -1.64rem;
    margin-bottom: 1.64rem; }
  #wrapContents MAIN {
    margin: auto;
    margin-bottom: 3.28rem; }

FOOTER {
  display: block;
  width: 100%;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 640px) {
    FOOTER {
      height: 40px;
      margin-top: -40px; } }
  @media screen and (min-width: 641px) {
    FOOTER {
      height: 46px;
      margin-top: -46px; } }
  FOOTER DIV.bnrArea {
    width: 80%;
    margin: auto;
    margin-bottom: 3.28rem; }
    FOOTER DIV.bnrArea UL LI {
      width: 156px;
      height: 40px;
      margin-bottom: 1rem; }
  FOOTER DIV.inner {
    border-top: #CCCCCC 1px solid;
    padding-top: 1rem; }

@media screen and (max-width: 1158px) {
  #wrapContents {
    width: 100%;
    padding: 0 1.5rem;
    margin: auto;
    margin-top: 62px; }

  FOOTER {
    width: 100%; } }
@media screen and (max-width: 967px) {
  #wrapContents {
    margin-top: 2rem; }

  FOOTER DIV.bnrArea {
    width: 96%;
    margin: auto;
    margin-bottom: 1.64rem; }
    FOOTER DIV.bnrArea UL {
      justify-content: space-evenly; }
      FOOTER DIV.bnrArea UL LI {
        max-width: 124.8px;
        height: 32px; }
  FOOTER NAV > DIV {
    display: none; } }
@media screen and (max-width: 640px) {
  #wrapContents {
    margin-top: 1rem; } }
.mb0 {
  margin-bottom: 0 !important; }

.mbS {
  margin-bottom: 0.82rem; }

.mbM {
  margin-bottom: 1.64rem; }

.mbL {
  margin-bottom: 3.28rem; }

.w100 {
  width: 100% !important; }

.w80 {
  width: 80% !important; }

.w75 {
  width: 75% !important; }

.w66 {
  width: 66.6666% !important; }

.w50 {
  width: 50% !important; }

.w33 {
  width: 33.3333% !important; }

.w25 {
  width: 25% !important; }

.w20 {
  width: 20% !important; }

.w10 {
  width: 10% !important; }

.objC {
  text-align: center; }

P.objR {
  text-align: right; }

TR.objR TH,
TR.objR TD {
  text-align: right; }

TH.objR,
TD.objR,
FIGCAPTION.objR {
  text-align: right; }

TR.objL TH,
TR.objL TD {
  text-align: left; }

TH.objL,
TD.objL,
FIGCAPTION.objL {
  text-align: left; }

TR.objC TH,
TR.objC TD {
  text-align: center; }

TH.objL,
TD.objL {
  text-align: center; }

FIGURE.objC IMG,
IMG.objC {
  display: block;
  margin: auto; }

.objInBox {
  overflow: hidden; }
  .objInBox .objL {
    float: left;
    padding-right: calc(1.5rem/2); }
  .objInBox .objR {
    float: right;
    padding-left: calc(1.5rem/2); }

.column2Box,
.column3Box,
.column4Box {
  overflow: hidden; }

/* 均等 */
/* 幅 wの場合 かつfloat */
/* 2段組 */
.column2Box > DIV {
  width: 50%; }
.column2Box > DIV:nth-of-type(2n+1) {
  float: left;
  padding-right: calc(1.5rem/2); }
.column2Box > DIV:nth-of-type(2n) {
  float: right;
  padding-left: calc(1.5rem/2); }

@media screen and (min-width: 641px) {
  .column2BoxTo1Box > DIV {
    width: 50%; }
  .column2BoxTo1Box > DIV:nth-of-type(2n+1) {
    float: left;
    padding-right: calc(1.5rem/2); }
  .column2BoxTo1Box > DIV:nth-of-type(2n) {
    float: right;
    padding-left: calc(1.5rem/2); } }

/* 3段組 */
.column3Box > DIV {
  width: calc(100%/3); }
.column3Box > DIV:nth-of-type(3n+1),
.column3Box > DIV:nth-of-type(3n+2) {
  float: left; }
.column3Box > DIV:nth-of-type(3n) {
  float: right; }
.column3Box > DIV:nth-of-type(3n+1) {
  padding-right: calc(1.5rem / 3 * 2); }
.column3Box > DIV:nth-of-type(3n+2) {
  padding-left: calc(1.5rem / 3);
  padding-right: calc(1.5rem / 3); }
.column3Box > DIV:nth-of-type(3n) {
  padding-left: calc(1.5rem / 3 * 2); }

/* 4段組 */
.column4Box > DIV {
  width: calc(100%/4);
  float: left; }
  .column4Box > DIV > DIV:nth-of-type(4n+1) {
    padding-right: calc(1.5rem / 4 * 3); }
  .column4Box > DIV > DIV:nth-of-type(4n+2) {
    padding-left: calc(1.5rem / 4);
    padding-right: calc(1.5rem / 2); }
  .column4Box > DIV > DIV:nth-of-type(4n+3) {
    padding-left: calc(1.5rem / 2);
    padding-right: calc(1.5rem / 4); }
  .column4Box > DIV > DIV:nth-of-type(4n) {
    padding-left: calc(1.5rem / 4 * 3); }

/* 均等 */
/* 幅 wの場合 かつflex */
.column2FlexBox,
.column2FlexBoxTo1Box,
.column3FlexBox,
.column3FlexBoxTo2Box,
.column3FlexBoxTo2To1Box,
.column3FlexBoxTo1Box,
.column4FlexBox,
.column4FlexBoxTo3Box,
.column4FlexBoxTo3To2Box,
.column4FlexBoxTo2Box,
.column4FlexBoxTo2To1Box,
.column4FlexBoxTo1Box,
.column5FlexBox,
.column6FlexBox,
.column7FlexBox,
.column8FlexBox,
.column2FlexBoxWithArrow {
  display: flex;
  flex-wrap: wrap; }

.column2FlexBox > DIV:nth-of-type(2n+1),
.column2FlexBox > LI:nth-of-type(2n+1) {
  width: 50%;
  padding-right: calc(1.5rem/2); }
.column2FlexBox > DIV:nth-of-type(2n),
.column2FlexBox > LI:nth-of-type(2n) {
  width: 50%;
  padding-left: calc(1.5rem/2); }

@media screen and (min-width: 641px) {
  .column2FlexBoxTo1Box > DIV:nth-of-type(2n+1),
  .column2FlexBoxTo1Box > LI:nth-of-type(2n+1) {
    width: 50%;
    padding-right: calc(1.5rem/2); }
  .column2FlexBoxTo1Box > DIV:nth-of-type(2n),
  .column2FlexBoxTo1Box > LI:nth-of-type(2n) {
    width: 50%;
    padding-left: calc(1.5rem/2); } }
@media screen and (max-width: 640px) {
  .column2FlexBoxTo1Box {
    align-items: flex-start; }
    .column2FlexBoxTo1Box > DIV,
    .column2FlexBoxTo1Box > LI {
      width: 100%; } }

.column3FlexBox > DIV,
.column3FlexBox > LI {
  width: calc( 100% / 3 ); }
.column3FlexBox > DIV:nth-of-type(3n+1),
.column3FlexBox > LI:nth-of-type(3n+1) {
  padding-right: calc(1.5rem / 3 * 2); }
.column3FlexBox > DIV:nth-of-type(3n+2),
.column3FlexBox > LI:nth-of-type(3n+2) {
  padding-left: calc(1.5rem / 3);
  padding-right: calc(1.5rem / 3); }
.column3FlexBox > DIV:nth-of-type(3n),
.column3FlexBox > LI:nth-of-type(3n) {
  padding-left: calc(1.5rem / 3 * 2); }
.column3FlexBox > DIV:nth-of-type(n+4),
.column3FlexBox > LI:nth-of-type(n+4) {
  margin-top: 1.5rem; }

@media screen and (min-width: 641px) {
  .column3FlexBoxTo2Box > DIV,
  .column3FlexBoxTo2Box > LI {
    width: calc( 100% / 3 ); }
  .column3FlexBoxTo2Box > DIV:nth-of-type(3n+1),
  .column3FlexBoxTo2Box > LI:nth-of-type(3n+1) {
    padding-right: calc(1.5rem / 3 * 2); }
  .column3FlexBoxTo2Box > DIV:nth-of-type(3n+2),
  .column3FlexBoxTo2Box > LI:nth-of-type(3n+2) {
    padding-left: calc(1.5rem / 3);
    padding-right: calc(1.5rem / 3); }
  .column3FlexBoxTo2Box > DIV:nth-of-type(3n),
  .column3FlexBoxTo2Box > LI:nth-of-type(3n) {
    padding-left: calc(1.5rem / 3 * 2); }
  .column3FlexBoxTo2Box > DIV:nth-of-type(n+4),
  .column3FlexBoxTo2Box > LI:nth-of-type(n+4) {
    margin-top: 1.5rem; } }
@media screen and (max-width: 640px) {
  .column3FlexBoxTo2Box > DIV:nth-of-type(2n+1),
  .column3FlexBoxTo2Box > LI:nth-of-type(2n+1) {
    width: 50%;
    padding-right: calc(1.5rem/2); }
  .column3FlexBoxTo2Box > DIV:nth-of-type(2n),
  .column3FlexBoxTo2Box > LI:nth-of-type(2n) {
    width: 50%;
    padding-left: calc(1.5rem/2); } }

@media screen and (min-width: 641px) {
  .column3FlexBoxTo1Box > DIV,
  .column3FlexBoxTo1Box > LI {
    width: calc( 100% / 3 ); }
  .column3FlexBoxTo1Box > DIV:nth-of-type(3n+1),
  .column3FlexBoxTo1Box > LI:nth-of-type(3n+1) {
    padding-right: calc(1.5rem / 3 * 2); }
  .column3FlexBoxTo1Box > DIV:nth-of-type(3n+2),
  .column3FlexBoxTo1Box > LI:nth-of-type(3n+2) {
    padding-left: calc(1.5rem / 3);
    padding-right: calc(1.5rem / 3); }
  .column3FlexBoxTo1Box > DIV:nth-of-type(3n),
  .column3FlexBoxTo1Box > LI:nth-of-type(3n) {
    padding-left: calc(1.5rem / 3 * 2); }
  .column3FlexBoxTo1Box > DIV:nth-of-type(n+4),
  .column3FlexBoxTo1Box > LI:nth-of-type(n+4) {
    margin-top: 1.5rem; } }
@media screen and (max-width: 640px) {
  .column3FlexBoxTo1Box {
    align-items: flex-start; }
    .column3FlexBoxTo1Box > DIV,
    .column3FlexBoxTo1Box > LI {
      width: 100%; } }

.column4FlexBox > DIV {
  width: calc( 100% / 4 ); }
.column4FlexBox > DIV:nth-of-type(4n+1) {
  padding-right: calc(1.5rem / 4 * 3); }
.column4FlexBox > DIV:nth-of-type(4n+2) {
  padding-left: calc(1.5rem / 4);
  padding-right: calc(1.5rem / 2); }
.column4FlexBox > DIV:nth-of-type(4n+3) {
  padding-left: calc(1.5rem / 2);
  padding-right: calc(1.5rem / 4); }
.column4FlexBox > DIV:nth-of-type(4n) {
  padding-left: calc(1.5rem / 4 * 3); }

@media screen and (min-width: 641px) {
  .column4FlexBoxTo3Box > DIV {
    width: calc( 100% / 4 ); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(4n+1) {
    padding-right: calc(1.5rem / 4 * 3); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(4n+2) {
    padding-left: calc(1.5rem / 4);
    padding-right: calc(1.5rem / 2); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(4n+3) {
    padding-left: calc(1.5rem / 2);
    padding-right: calc(1.5rem / 4); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(4n) {
    padding-left: calc(1.5rem / 4 * 3); } }
@media screen and (max-width: 640px) {
  .column4FlexBoxTo3Box > DIV,
  .column4FlexBoxTo3Box > LI {
    width: calc( 100% / 3 ); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(3n+1),
  .column4FlexBoxTo3Box > LI:nth-of-type(3n+1) {
    padding-right: calc(1.5rem / 3 * 2); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(3n+2),
  .column4FlexBoxTo3Box > LI:nth-of-type(3n+2) {
    padding-left: calc(1.5rem / 3);
    padding-right: calc(1.5rem / 3); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(3n),
  .column4FlexBoxTo3Box > LI:nth-of-type(3n) {
    padding-left: calc(1.5rem / 3 * 2); }
  .column4FlexBoxTo3Box > DIV:nth-of-type(n+4),
  .column4FlexBoxTo3Box > LI:nth-of-type(n+4) {
    margin-top: 1.5rem; } }

@media screen and (min-width: 641px) {
  .column4FlexBoxTo2Box > DIV {
    width: calc( 100% / 4 ); }
  .column4FlexBoxTo2Box > DIV:nth-of-type(4n+1) {
    padding-right: calc(1.5rem / 4 * 3); }
  .column4FlexBoxTo2Box > DIV:nth-of-type(4n+2) {
    padding-left: calc(1.5rem / 4);
    padding-right: calc(1.5rem / 2); }
  .column4FlexBoxTo2Box > DIV:nth-of-type(4n+3) {
    padding-left: calc(1.5rem / 2);
    padding-right: calc(1.5rem / 4); }
  .column4FlexBoxTo2Box > DIV:nth-of-type(4n) {
    padding-left: calc(1.5rem / 4 * 3); } }
@media screen and (max-width: 640px) {
  .column4FlexBoxTo2Box > DIV:nth-of-type(2n+1),
  .column4FlexBoxTo2Box > LI:nth-of-type(2n+1) {
    width: 50%;
    padding-right: calc(1.5rem/2); }
  .column4FlexBoxTo2Box > DIV:nth-of-type(2n),
  .column4FlexBoxTo2Box > LI:nth-of-type(2n) {
    width: 50%;
    padding-left: calc(1.5rem/2); } }

@media screen and (min-width: 641px) {
  .column4FlexBoxTo1Box > DIV {
    width: calc( 100% / 4 ); }
  .column4FlexBoxTo1Box > DIV:nth-of-type(4n+1) {
    padding-right: calc(1.5rem / 4 * 3); }
  .column4FlexBoxTo1Box > DIV:nth-of-type(4n+2) {
    padding-left: calc(1.5rem / 4);
    padding-right: calc(1.5rem / 2); }
  .column4FlexBoxTo1Box > DIV:nth-of-type(4n+3) {
    padding-left: calc(1.5rem / 2);
    padding-right: calc(1.5rem / 4); }
  .column4FlexBoxTo1Box > DIV:nth-of-type(4n) {
    padding-left: calc(1.5rem / 4 * 3); } }
@media screen and (max-width: 640px) {
  .column4FlexBoxTo1Box {
    align-items: flex-start; }
    .column4FlexBoxTo1Box > DIV,
    .column4FlexBoxTo1Box > LI {
      width: 100%; } }

.column5FlexBox > DIV {
  width: calc( 100% / 5 ); }
.column5FlexBox > DIV:nth-of-type(5n+1) {
  padding-right: calc(1.5rem / 5 * 4); }
.column5FlexBox > DIV:nth-of-type(5n+2) {
  padding-left: calc(1.5rem / 5);
  padding-right: calc(1.5rem / 5 * 3); }
.column5FlexBox > DIV:nth-of-type(5n+3) {
  padding-left: calc(1.5rem / 5 * 2);
  padding-right: calc(1.5rem / 5 * 2); }
.column5FlexBox > DIV:nth-of-type(5n+4) {
  padding-left: calc(1.5rem / 5 * 3);
  padding-right: calc(1.5rem / 5 ); }
.column5FlexBox > DIV:nth-of-type(5n) {
  padding-left: calc(1.5rem / 5 * 4); }

.column6FlexBox > DIV {
  width: calc( 100% / 6 ); }
.column6FlexBox > DIV:nth-of-type(6n+1) {
  padding-right: calc(1.5rem / 6 * 5); }
.column6FlexBox > DIV:nth-of-type(6n+2) {
  padding-left: calc(1.5rem / 6);
  padding-right: calc(1.5rem / 6 * 4); }
.column6FlexBox > DIV:nth-of-type(6n+3),
.column6FlexBox > DIV:nth-of-type(6n+4) {
  padding-left: calc(1.5rem / 6 * 3);
  padding-right: calc(1.5rem / 6 * 3); }
.column6FlexBox > DIV:nth-of-type(6n+5) {
  padding-left: calc(1.5rem / 6 * 4);
  padding-right: calc(1.5rem / 6 ); }
.column6FlexBox > DIV:nth-of-type(6n) {
  padding-left: calc(1.5rem / 6 * 5); }

.column2FlexBoxWithArrow {
  background: center center url(../img/icon_arrow02.svg) no-repeat;
  background-size: 2.6%; }
  .column2FlexBoxWithArrow > DIV {
    width: 50%; }
  .column2FlexBoxWithArrow > DIV:nth-of-type(2n+1) {
    padding-right: calc(1.5rem); }
  .column2FlexBoxWithArrow > DIV:nth-of-type(2n) {
    padding-left: calc(1.5rem); }

.column2FlexBox > DIV,
.column2FlexBoxTo1Box > DIV,
.column3FlexBox > DIV,
.column3FlexBoxTo2Box > DIV,
.column3FlexBoxTo2To1Box > DIV,
.column3FlexBoxTo1Box > DIV,
.column4FlexBox > DIV,
.column4FlexBoxTo3Box > DIV,
.column4FlexBoxTo3To2Box > DIV,
.column4FlexBoxTo2Box > DIV,
.column4FlexBoxTo2To1Box > DIV,
.column4FlexBoxTo1Box > DIV,
.column5FlexBox > DIV,
.column6FlexBox > DIV,
.column7FlexBox > DIV,
.column8FlexBox > DIV {
  margin-bottom: 1.64rem; }

@media screen and (max-width: 359px) {
  .column3FlexBox {
    display: block; }
    .column3FlexBox > DIV {
      width: 100%;
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0;
      margin-right: 0; }

  .column4FlexBox > DIV {
    width: 50%; }
  .column4FlexBox > DIV:nth-of-type(2n+1) {
    padding-left: 0;
    padding-right: calc(1.5rem/2); }
  .column4FlexBox > DIV:nth-of-type(2n) {
    padding-left: calc(1.5rem/2);
    padding-right: 0; } }
MAIN H1 {
  font-size: 1.8rem;
  line-height: 2.952; }
MAIN H2 {
  font-size: 1.6rem;
  line-height: 2.624; }
MAIN H3 {
  font-size: 1.4rem;
  line-height: 2.296; }
MAIN H4 {
  font-size: 1.2rem;
  line-height: 1.968; }
MAIN H5,
MAIN H6 {
  font-size: 1rem;
  line-height: 1.64; }
MAIN P {
  margin-bottom: 1.64rem; }
MAIN DL {
  margin-bottom: 1.64rem; }
MAIN OL {
  padding-left: 1rem;
  margin-bottom: 1.64rem; }
MAIN UL {
  padding-left: 1rem;
  margin-bottom: 1.64rem; }
MAIN TABLE {
  margin-bottom: 1.64rem; }
MAIN TABLE, MAIN TH, MAIN TD {
  border-collapse: collapse; }
  MAIN TABLE TH, MAIN TABLE TD, MAIN TH TH, MAIN TH TD, MAIN TD TH, MAIN TD TD {
    border: #CCCCCC 1px solid;
    padding: 0.25rem; }
MAIN FIGURE {
  display: table; }
MAIN FIGCAPTION {
  caption-side: bottom;
  display: table-caption;
  font-size: 0.875rem;
  line-height: 1.435; }
MAIN HR {
  border-width: 1px 0 0 0;
  color: #CCCCCC;
  border-style: solid; }

MAIN > SECTION + SECTION {
  margin-top: 3.28; }
MAIN P + DL,
MAIN P + UL,
MAIN P + OL,
MAIN P + P {
  margin-top: 1.64; }
MAIN P + TABLE,
MAIN DL + TABLE,
MAIN UL + TABLE,
MAIN OL + TABLE {
  margin-top: -5.24px; }
MAIN UL.footnote,
MAIN OL.footnote,
MAIN DL.footnote {
  padding-left: 0;
  margin-left: 0; }
MAIN .aster {
  padding-left: 1em;
  text-indent: -1em; }
MAIN .aster::before {
  content: "※"; }
MAIN LI.aster {
  list-style-type: none; }
MAIN P + P.note,
MAIN DL + P.note,
MAIN OL + P.note,
MAIN UL + P.note {
  margin-top: -0.64rem; }
MAIN TABLE + P.note {
  margin-top: -1.32rem; }
MAIN TABLE + UL.note {
  margin-top: -1.32rem; }
MAIN P + .footnote,
MAIN UL + .footnote,
MAIN OL + .footnote {
  margin-top: -1.64rem; }
MAIN TABLE + .footnote,
MAIN DIV.column2FlexBox + .footnote,
MAIN DIV.column3FlexBox + .footnote,
MAIN DIV.column4FlexBox + .footnote {
  margin-top: -1.32rem; }
MAIN NAV.index UL {
  padding-left: 0; }
  MAIN NAV.index UL LI A::before {
    display: inline-block;
    font-family: FontAwesome;
    content: "";
    margin-right: 4.62px; }
MAIN NAV.box {
  margin-bottom: 1.64rem; }
  MAIN NAV.box UL {
    margin-bottom: 0; }
MAIN NAV.box + SECTION {
  margin-top: 1.64rem; }
MAIN .pInBox,
MAIN .objInBox {
  overflow: hidden; }
MAIN .picL {
  float: left; }
MAIN .picR {
  float: right; }
MAIN DIV.objL,
MAIN FIGURE.objL,
MAIN IMG.objL,
MAIN TABLE.objL {
  float: left;
  padding-right: calc(1.5rem/2);
  margin-right: calc(1.5rem/2); }
MAIN DIV.objR,
MAIN FIGURE.objR,
MAIN IMG.objR,
MAIN TABLE.objR {
  float: right;
  padding-left: calc(1.5rem/2);
  margin-left: calc(1.5rem/2); }
MAIN FIGURE.objL,
MAIN FIGURE.objR {
  margin-top: -6.88px; }
MAIN FIGURE.objL FIGCAPTION {
  padding-right: calc(1.5rem/2); }
MAIN FIGURE.objR FIGCAPTION {
  padding-left: calc(1.5rem/2); }

@media screen and (max-width: 967px) {
  MAIN DIV.objL,
  MAIN FIGURE.objL,
  MAIN IMG.objL,
  MAIN TABLE.objL,
  MAIN DIV.objR,
  MAIN FIGURE.objR,
  MAIN IMG.objR,
  MAIN TABLE.objR {
    max-width: 45%; } }
@media screen and (max-width: 480px) {
  MAIN DIV.objL,
  MAIN FIGURE.objL,
  MAIN IMG.objL,
  MAIN TABLE.objL,
  MAIN DIV.objR,
  MAIN FIGURE.objR,
  MAIN IMG.objR,
  MAIN TABLE.objR {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
    float: none;
    max-width: 100%;
    margin-bottom: 0.82rem; } }
MAIN .ls_m1 {
  letter-spacing: -1px; }
MAIN FIGURE + FIGURE {
  margin-top: 1.64rem; }
MAIN FIGCAPTION {
  margin-top: -1.64rem;
  margin-bottom: 1.64rem; }
MAIN IMG + FIGCAPTION {
  margin-top: 0.32rem; }
MAIN TABLE + FIGCAPTION {
  margin-top: -3.28rem; }
MAIN HGROUP.icon {
  padding-left: 2.8rem; }
MAIN OL.flow {
  padding-left: 0; }
MAIN .shadow {
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.35)); }
MAIN P + .contactBox,
MAIN .box + .contactBox {
  margin-top: 1.32rem; }
MAIN .contactBox DL {
  overflow: hidden;
  margin-bottom: 0; }
  MAIN .contactBox DL DT, MAIN .contactBox DL DD {
    margin-bottom: 0.41rem; }
  MAIN .contactBox DL DT {
    display: none; }
  MAIN .contactBox DL DD {
    display: inline-block;
    margin-right: 1rem; }
  MAIN .contactBox DL DD::before {
    display: inline-block;
    width: 1.5rem;
    background-color: #68AA3F;
    padding: 4px;
    border-radius: 2px;
    color: #FFFFFF;
    text-align: center;
    margin-right: 0.5rem; }
  MAIN .contactBox DL SPAN {
    display: inline-block; }
MAIN .contactBox DL.name DD {
  font-weight: 800; }
MAIN .contactBox DL.name DD::before,
MAIN .contactBox DT.name + DD::before,
MAIN .contactBox DD.name::before {
  display: inline-block;
  font-family: FontAwesome;
  content: ""; }
MAIN .contactBox DL.addr DD::before,
MAIN .contactBox DT.addr + DD::before,
MAIN .contactBox DD.addr::before {
  display: inline-block;
  font-family: FontAwesome;
  content: ""; }
MAIN .contactBox DL.tel DD::before,
MAIN .contactBox DT.tel + DD::before,
MAIN .contactBox DD.tel::before {
  display: inline-block;
  font-family: FontAwesome;
  content: ""; }
MAIN .contactBox DL.fax DD::before,
MAIN .contactBox DT.fax + DD::before,
MAIN .contactBox DD.fax::before {
  display: inline-block;
  font-family: FontAwesome;
  content: ""; }
MAIN .contactBox DL.website DD::before,
MAIN .contactBox DT.website + DD::before,
MAIN .contactBox DD.website::before {
  display: inline-block;
  font-family: FontAwesome;
  content: ""; }
MAIN .contactBox DL.mail DD::before,
MAIN .contactBox DT.mail + DD::before,
MAIN .contactBox DD.mail::before {
  display: inline-block;
  font-family: FontAwesome;
  content: ""; }
MAIN .contactBox DL + DL {
  margin-top: 3.85px; }
MAIN .contactBox SPAN.zip::before {
  content: "〒"; }
MAIN .contactBox SPAN.tel::before {
  content: "☎"; }
MAIN .contactBox SPAN.fax::before {
  content: "FAX:"; }
MAIN .contactBox SPAN.name {
  font-weight: 800; }
  MAIN .contactBox SPAN.name .addr SPAN {
    display: inline-block; }
  MAIN .contactBox SPAN.name .zip,
  MAIN .contactBox SPAN.name .addr,
  MAIN .contactBox SPAN.name .tel {
    margin-right: 0.5em; }
MAIN .contactBox HR {
  border-width: 1px 0 0 0;
  color: #CCCCCC;
  border-style: dotted; }

.marker {
  display: inline;
  padding: 0 0.2rem 0.4rem; }

.marker-1 {
  background: linear-gradient(transparent 0%, #ff9aec 0%); }

.marker-half1 {
  background: linear-gradient(transparent 50%, #ff9aec 50%); }

.marker-quarter1 {
  background: linear-gradient(transparent 75%, #ff9aec 75%); }

.marker-2 {
  background: linear-gradient(transparent 0%, #ffd58d 0%); }

.marker-half2 {
  background: linear-gradient(transparent 50%, #ffd58d 50%); }

.marker-quarter2 {
  background: linear-gradient(transparent 75%, #ffd58d 75%); }

.marker-3 {
  background: linear-gradient(transparent 0%, #fdfd75 0%); }

.marker-half3 {
  background: linear-gradient(transparent 50%, #fdfd75 50%); }

.marker-quarter3 {
  background: linear-gradient(transparent 75%, #fdfd75 75%); }

.marker-4 {
  background: linear-gradient(transparent 0%, #bcff8e 0%); }

.marker-half4 {
  background: linear-gradient(transparent 50%, #bcff8e 50%); }

.marker-quarter4 {
  background: linear-gradient(transparent 75%, #bcff8e 75%); }

.marker-5 {
  background: linear-gradient(transparent 0%, #77f0ff 0%); }

.marker-half5 {
  background: linear-gradient(transparent 50%, #77f0ff 50%); }

.marker-quarter5 {
  background: linear-gradient(transparent 75%, #77f0ff 75%); }

.marker-6 {
  background: linear-gradient(transparent 0%, #e3bcff 0%); }

.marker-half6 {
  background: linear-gradient(transparent 50%, #e3bcff 50%); }

.marker-quarter6 {
  background: linear-gradient(transparent 75%, #e3bcff 75%); }

.barHorizontalLine {
  padding-left: 3rem;
  padding-right: 3rem;
  position: relative; }
  .barHorizontalLine > SPAN::before,
  .barHorizontalLine > SPAN::after,
  .barHorizontalLine > A::before,
  .barHorizontalLine > A::after {
    position: absolute;
    content: "";
    width: 2.5rem;
    height: 0.3rem;
    background-color: #232323; }
  .barHorizontalLine > SPAN::before,
  .barHorizontalLine > A::before {
    left: 0;
    top: calc(50% - (0.3rem / 2)); }
  .barHorizontalLine > SPAN::after,
  .barHorizontalLine > A::after {
    right: 0;
    top: calc(50% - (0.3rem / 2)); }

DIV.barForWP {
  padding-left: 3rem;
  padding-right: 3rem;
  position: relative; }

P.icon {
  padding-left: 0 !important;
  font-feature-settings: "palt";
  text-indent: -1.25em;
  padding-left: 1.25em !important; }
  P.icon::before {
    margin-right: 0.25em; }

OL.icon,
UL.icon {
  padding-left: 0 !important;
  font-feature-settings: "palt"; }
  OL.icon > LI,
  UL.icon > LI {
    list-style-type: none;
    text-indent: -1.25em;
    padding-left: 1.25em !important; }
  OL.icon > LI::before,
  UL.icon > LI::before {
    margin-right: 0.25em; }

OL.icon_aster > LI::before,
UL.icon_aster > LI::before {
  content: "※"; }

LI.icon_aster::before, P.icon_aster::before, SPAN.icon_aster::before {
  content: "※"; }

OL.icon_checked > LI::before,
UL.icon_checked > LI::before {
  content: "✔"; }

LI.icon_checked::before, P.icon_checked::before, SPAN.icon_checked::before {
  content: "✔"; }

OL.icon_checked-with-box > LI::before,
UL.icon_checked-with-box > LI::before {
  content: "☑"; }

LI.icon_checked-with-box::before, P.icon_checked-with-box::before, SPAN.icon_checked-with-box::before {
  content: "☑"; }

OL.icon_circle-outline > LI::before,
UL.icon_circle-outline > LI::before {
  content: "○"; }

LI.icon_circle-outline::before, P.icon_circle-outline::before, SPAN.icon_circle-outline::before {
  content: "○"; }

OL.icon_circle-double > LI::before,
UL.icon_circle-double > LI::before {
  content: "◎"; }

LI.icon_circle-double::before, P.icon_circle-double::before, SPAN.icon_circle-double::before {
  content: "◎"; }

OL.icon_circle-checked > LI::before,
UL.icon_circle-checked > LI::before {
  content: "◉"; }

LI.icon_circle-checked::before, P.icon_circle-checked::before, SPAN.icon_circle-checked::before {
  content: "◉"; }

OL.icon_circle-filled > LI::before,
UL.icon_circle-filled > LI::before {
  content: "●"; }

LI.icon_circle-filled::before, P.icon_circle-filled::before, SPAN.icon_circle-filled::before {
  content: "●"; }

OL.icon_rhombus-outline > LI::before,
UL.icon_rhombus-outline > LI::before {
  content: "◇"; }

LI.icon_rhombus-outline::before, P.icon_rhombus-outline::before, SPAN.icon_rhombus-outline::before {
  content: "◇"; }

OL.icon_rhombus-filled > LI::before,
UL.icon_rhombus-filled > LI::before {
  content: "◆"; }

LI.icon_rhombus-filled::before, P.icon_rhombus-filled::before, SPAN.icon_rhombus-filled::before {
  content: "◆"; }

OL.icon_star-outline > LI::before,
UL.icon_star-outline > LI::before {
  content: "☆"; }

LI.icon_star-outline::before, P.icon_star-outline::before, SPAN.icon_star-outline::before {
  content: "☆"; }

OL.icon_star-filled > LI::before,
UL.icon_star-filled > LI::before {
  content: "★"; }

LI.icon_star-filled::before, P.icon_star-filled::before, SPAN.icon_star-filled::before {
  content: "★"; }

OL.icon_square-outline > LI::before,
UL.icon_square-outline > LI::before {
  content: "□"; }

LI.icon_square-outline::before, P.icon_square-outline::before, SPAN.icon_square-outline::before {
  content: "□"; }

OL.icon_square-filled > LI::before,
UL.icon_square-filled > LI::before {
  content: "■"; }

LI.icon_square-filled::before, P.icon_square-filled::before, SPAN.icon_square-filled::before {
  content: "■"; }

OL.icon_triangle-outline > LI::before,
UL.icon_triangle-outline > LI::before {
  content: "△"; }

LI.icon_triangle-outline::before, P.icon_triangle-outline::before, SPAN.icon_triangle-outline::before {
  content: "△"; }

OL.icon_triangle-filled > LI::before,
UL.icon_triangle-filled > LI::before {
  content: "▲"; }

LI.icon_triangle-filled::before, P.icon_triangle-filled::before, SPAN.icon_triangle-filled::before {
  content: "▲"; }

@media screen and (max-width: 640px) {
  TABLE.formTbl COL {
    display: block;
    width: 100%; } }
@media screen and (max-width: 640px) {
  TABLE.formTbl TH, TABLE.formTbl TD {
    display: block;
    width: 100%; } }

#wrapContents MAIN DIV.bnrArea {
  width: 80%;
  max-width: 768px;
  margin: auto; }

NAV.progress OL {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 0 !important;
  margin-bottom: 1.64rem; }
  NAV.progress OL LI {
    list-sytle-type: none;
    width: 48px; }
    NAV.progress OL LI SPAN {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%;
      font-size: 10px;
      text-align: center;
      background-color: #DBDBDB;
      color: #FFFFFF; }
    NAV.progress OL LI.current SPAN {
      background-color: #08215C;
      color: #FFFFFF; }
    NAV.progress OL LI::after {
      position: absolute;
      display: block;
      width: 100%;
      content: "";
      top: calc(50% - (2px / 2));
      left: 0;
      height: 2px;
      background-color: #DBDBDB;
      z-index: -20; }

/* wysiwyg */
.payment .ql-container {
  padding: 0 0;
  margin-bottom: 3.28rem;
  font-family: inherit;
  font-size: 1rem; }
  .payment .ql-container A {
    border-bottom: #00c2b9 dotted 1px; }
    .payment .ql-container A:hover, .payment .ql-container A:focus {
      border-bottom-color: #ff3d45; }
.payment .ql-editor {
  line-height: 1.64; }

DL.cc-exp DD {
  width: 9.3em;
  box-shadow: 0 0 0 1px #08215C;
  border-radius: 4px; }
  DL.cc-exp DD SELECT {
    padding: 0 4px;
    box-shadow: none; }
  DL.cc-exp DD SPAN:nth-of-type(1) SELECT {
    border-radius: 4px 0px 0px 4px; }
  DL.cc-exp DD SPAN:nth-of-type(2) SELECT {
    border-radius: 0px 4px 4px 0px; }
  DL.cc-exp DD SPAN:has(SELECT.cc-exp-year)::before {
    display: inline-block;
    content: "/";
    color: #666666; }

DL.credit-payment-times DD SELECT {
  width: 11.5em; }

#cardInputArea DL.credit-number,
#cardInputArea DL.credit-expiration,
#cardInputArea DL.credit-name,
#cardInputArea DL.credit-security-code,
#cardInputArea DL.credit-payment-times {
  position: relative; }
  #cardInputArea DL.credit-number DT,
  #cardInputArea DL.credit-expiration DT,
  #cardInputArea DL.credit-name DT,
  #cardInputArea DL.credit-security-code DT,
  #cardInputArea DL.credit-payment-times DT {
    position: absolute;
    left: calc(0.25rem + 1px);
    top: calc(0.25rem + 1px);
    z-index: 10; }
#cardInputArea DL.credit-number DD > INPUT[type="TEXT"] {
  padding-top: 1.16rem; }
#cardInputArea DL.credit-expiration DD {
  padding-top: 1.16rem; }
#cardInputArea DL.credit-name DD > INPUT[type="TEXT"] {
  padding-top: 1.16rem; }
#cardInputArea DL.credit-security-code DD > INPUT[type="TEXT"] {
  padding-top: 1.16rem; }

/* ---------------- */
/*　トップページ */
/* id: home */
/* class: home */
/* ---------------- */
/* ---------------- */
/*　共通 */
/* class: payment */
/* ---------------- */
.payment HEADER {
  border-bottom: #DBDBDB 5px double;
  position: relative; }
  .payment HEADER HGROUP {
    text-indent: -9999px;
    background-image: url("../img/logoWithCatch.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain; }
.payment NAV.selectLangArea {
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 8001; }
  .payment NAV.selectLangArea A {
    display: block;
    padding: 0.5rem;
    color: #FFFFFF;
    background: #343434; }
    .payment NAV.selectLangArea A:hover, .payment NAV.selectLangArea A:focus {
      background: #5bd4e8; }
.payment MAIN HGROUP H1 {
  font-weight: 500;
  text-align: center; }
.payment MAIN SECTION > H2 {
  position: relative;
  font-size: 21.3328px;
  text-align: center;
  color: #343434;
  margin-bottom: 0.82rem; }
  .payment MAIN SECTION > H2 > SPAN {
    position: relative;
    background-color: #FDFDFD;
    font-weight: 500;
    padding-left: 26.666px;
    padding-right: 21.3328px;
    letter-spacing: 0.25em; }
  .payment MAIN SECTION > H2::before {
    position: absolute;
    top: calc(50% - (6px / 2));
    left: 0;
    width: 100%;
    height: 6px;
    content: "";
    border-top: 6px #ababab double; }
.payment MAIN SECTION + SECTION {
  margin-top: 1.64rem; }
.payment MAIN FIELDSET {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0; }
  .payment MAIN FIELDSET INPUT[type="radio"] {
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    left: 0; }
.payment MAIN ::placeholder {
  color: #00c2b9;
  font-size: 14px;
  font-size: 0.8831rem;
  font-size: 0.909rem; }
.payment MAIN DL {
  display: block;
  position: relative;
  margin-bottom: calc(1.64 * 0.5em); }
  .payment MAIN DL DT {
    left: 6px;
    top: 6px;
    font-size: 10px;
    line-height: 1em;
    color: #666; }
  .payment MAIN DL DD INPUT[type="text"],
  .payment MAIN DL DD INPUT[type="month"],
  .payment MAIN DL DD INPUT[type="date"],
  .payment MAIN DL DD INPUT[type="number"],
  .payment MAIN DL DD TEXTAREA {
    letter-spacing: 0.05em; }
.payment MAIN .quoteArea TABLE {
  width: 100%;
  border: none; }
  .payment MAIN .quoteArea TABLE THEAD TH,
  .payment MAIN .quoteArea TABLE THEAD TD {
    border: none;
    color: #FFFFFF;
    background-color: #999999;
    font-size: 12px; }
  .payment MAIN .quoteArea TABLE THEAD TH {
    font-weight: 500;
    border-right: #CCCCCC 1px solid; }
  .payment MAIN .quoteArea TABLE TBODY TH,
  .payment MAIN .quoteArea TABLE TBODY TD {
    border: none; }
  .payment MAIN .quoteArea TABLE TBODY TH {
    font-weight: 500; }
  .payment MAIN .quoteArea TABLE TBODY TR + TR TH,
  .payment MAIN .quoteArea TABLE TBODY TR + TR TD {
    border-top: #CCCCCC 1px solid; }
  .payment MAIN .quoteArea TABLE TBODY TD {
    text-align: right; }
  .payment MAIN .quoteArea TABLE TBODY TR.fee,
  .payment MAIN .quoteArea TABLE TBODY TR.subTotal {
    text-align: right; }
  .payment MAIN .quoteArea TABLE TBODY TR.sumTotal TH,
  .payment MAIN .quoteArea TABLE TBODY TR.sumTotal TD,
  .payment MAIN .quoteArea TABLE TBODY TR.grandTotal TH,
  .payment MAIN .quoteArea TABLE TBODY TR.grandTotal TD {
    border-top: #999999 3px double; }
  .payment MAIN .quoteArea TABLE TBODY TR.sumTotal TH,
  .payment MAIN .quoteArea TABLE TBODY TR.grandTotal TH {
    text-align: right; }
  .payment MAIN .quoteArea TABLE TBODY TR.sumTotal TD,
  .payment MAIN .quoteArea TABLE TBODY TR.grandTotal TD {
    font-weight: 800;
    font-size: 20px; }
.payment MAIN .quoteArea INPUT[TYPE="number"] {
  width: 6em;
  text-align: right; }
.payment MAIN SELECT.pref {
  padding-top: 1.16rem; }
.payment MAIN SELECT.occupation {
  padding-top: 1.16rem; }
.payment MAIN SELECT.sector,
.payment MAIN SELECT.industry {
  padding-top: 1.16rem; }
.payment MAIN DL.cc-exp DD {
  width: 9.3em;
  box-shadow: 0 0 0 1px #08215C;
  border-radius: 4px; }
.payment MAIN DL.cc-exp SELECT {
  padding: 0 4px;
  box-shadow: none; }
.payment MAIN DL.cc-exp SPAN:nth-of-type(1) SELECT {
  border-radius: 4px 0px 0px 4px; }
.payment MAIN DL.cc-exp SPAN:nth-of-type(2) SELECT {
  border-radius: 0px 4px 4px 0px; }
.payment MAIN DL.cc-exp SPAN:has(SELECT.cc-exp-year)::before {
  display: inline-block;
  content: "/";
  color: #666666; }
.payment MAIN DL.credit-payment-times DD SELECT {
  padding-top: 1.16rem;
  width: 11.5em; }
.payment MAIN A.foldButton,
.payment MAIN A.open {
  position: relative;
  display: block;
  border-top: #bebebe 1px solid;
  margin-bottom: 0.5em;
  border-bottom: #bebebe 1px solid;
  padding: 0.62rem 1.5rem 0.62rem 0.62rem; }
  .payment MAIN A.foldButton::before,
  .payment MAIN A.open::before {
    display: block;
    width: 1rem;
    height: 1rem;
    position: absolute;
    right: 10px;
    line-height: 1;
    text-align: center;
    top: calc(50% - 0.5rem); }
.payment MAIN A.foldButton:before {
  content: "+"; }
.payment MAIN A.open::before {
  content: "-"; }
.payment MAIN .questionChoiceGroup {
  margin-bottom: 1.64rem; }

.mef DT SPAN::after {
  top: -2px;
  right: auto;
  left: 0; }

.lang-ja MAIN DL.mef DT SPAN {
  padding: 0 0 0 2.72em; }
  .lang-ja MAIN DL.mef DT SPAN::after {
    content: "必須";
    color: #fefefe;
    padding: 0.125rem;
    font-size: 0.6413rem;
    margin-right: 0.25rem; }

.lang-en MAIN DL.mef DT SPAN {
  padding: 0 0 0 1.36em; }
  .lang-en MAIN DL.mef DT SPAN::after {
    top: -3px;
    content: "*";
    color: #fefefe;
    padding: 0.2rem;
    font-size: 0.6413rem; }
.lang-en MAIN DL.credit-payment-times DD SELECT {
  width: 13em; }

/* ---------------- */
/*　案内 */
/* id: payment-information */
/* class: payment */
/* ---------------- */
#payment-information .progress LI:nth-of-type(1) SPAN {
  background-color: #08215C;
  color: #FFFFFF; }
#payment-information .progress LI:nth-of-type(1)::after {
  position: absolute;
  display: block;
  width: 100%;
  content: "";
  top: calc(50% - (2px / 2));
  left: 0;
  height: 2px;
  background-color: #DBDBDB;
  z-index: -20; }
#payment-information #wrapContents MAIN #explain {
  border: #999999 1px solid;
  height: 30vh;
  min-height: 12em;
  overflow-y: scroll;
  padding: 8px 16px 0;
  margin-bottom: 1.64rem; }
#payment-information #wrapContents MAIN #explain::-webkit-scrollbar {
  width: 10px; }
#payment-information #wrapContents MAIN #explain::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 5px; }
#payment-information #wrapContents MAIN #explain::-webkit-scrollbar-track-piece {
  background-color: #efefef; }
#payment-information #wrapContents MAIN #explain H1, #payment-information #wrapContents MAIN #explain H2 {
  font-size: 16px;
  font-size: 1.2rem;
  line-height: 1.64; }
#payment-information #wrapContents MAIN #explain SECTION > H2::before {
  display: none; }
#payment-information #wrapContents MAIN #explain H3,
#payment-information #wrapContents MAIN #explain H4 {
  font-size: 14.72px;
  font-size: 0.909rem;
  line-height: 1.64; }
#payment-information #wrapContents MAIN #explain H5,
#payment-information #wrapContents MAIN #explain H6 {
  font-size: 13.6px;
  font-size: 0.8831rem;
  line-height: 1.64; }
#payment-information #wrapContents MAIN #explain P,
#payment-information #wrapContents MAIN #explain UL,
#payment-information #wrapContents MAIN #explain OL,
#payment-information #wrapContents MAIN #explain LI {
  font-size: 14.72px;
  font-size: 0.909rem;
  line-height: 1.64; }
#payment-information #wrapContents MAIN #explain UL.list_icon {
  padding-left: 0; }
#payment-information #wrapContents MAIN #explain UL.list_icon OL {
  display: table;
  margin: 0;
  padding: 0; }
  #payment-information #wrapContents MAIN #explain UL.list_icon OL LI {
    list-style-type: decimal;
    margin: 0;
    padding: 0;
    display: table-row;
    counter-increment: table-ol;
    text-indent: 0; }
#payment-information #wrapContents UL.list_icon OL LI::before {
  content: counter(table-ol) ".";
  display: table-cell;
  padding-right: 0.4em;
  text-align: right; }
#payment-information #wrapContents UL.list_icon OL LI::after {
  content: "";
  display: block; }
#payment-information #wrapContents UL.list_icon OL LI:last-of-type::after {
  margin-bottom: 0; }
#payment-information #payment-closing P {
  text-align: center;
  margin-bottom: 3.28rem; }
#payment-information P.unavailableMsg {
  color: #ff0000; }
  #payment-information P.unavailableMsg > SPAN {
    display: inline-block; }

/* ---------------- */
/*　支払：入力 */
/* id: payment-frm */
/* class: payment */
/* ---------------- */
#payment-frm .progress LI:nth-of-type(2) SPAN {
  background-color: #08215C;
  color: #FFFFFF; }
#payment-frm .progress LI:nth-of-type(2)::after {
  position: absolute;
  display: block;
  width: 100%;
  content: "";
  top: calc(50% - (2px / 2));
  left: 0;
  height: 2px;
  background-color: #DBDBDB;
  z-index: -20; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL DT {
  position: absolute;
  z-index: 10; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL DD > INPUT[type="TEXT"],
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL DD > INPUT[type="date"],
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL DD > INPUT[type="number"],
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL DD > SELECT {
  padding-top: 1.16rem; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.birthdate DD INPUT[type="date"],
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.birthdate DD INPUT[type="month"] {
  min-height: 3.05rem; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.type_check DT,
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.credit-payment-times DT,
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.faculty DT {
  /* sassはボーダーの幅取得して計算 */
   * left: calc(0.25rem + 1px)
   * top: calc(0.25rem + 1px) */ }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.type_check DD,
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.credit-peyment-times DD,
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.faculty DD {
  /* sassはボーダーの幅取得して計算 */
  padding-top: 1rem; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.sex DT {
  position: relative;
  left: 0;
  top: 0; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea DL.note DD TEXTAREA {
  padding-top: 1.16rem; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL,
#payment-frm #wrapContents MAIN SECTION.questionnaireArea DL {
  position: relative; }
  #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL DT,
  #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL DT {
    position: relative;
    left: 0;
    top: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.64;
    color: #666;
    margin-bottom: 0.64rem;
    padding: 0.5rem;
    background-color: #f1eeee; }
    #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL DT::before,
    #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL DT::before {
      content: "Q.";
      margin-right: 0.5em; }
    #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL DT > SPAN,
    #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL DT > SPAN {
      margin-top: -1.64em;
      padding-left: 1.5em; }
  #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL.mef DT > SPAN::after,
  #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL.mef DT > SPAN::after {
    top: -1rem; }
  #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL DD > INPUT[type="TEXT"],
  #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL DD > INPUT[type="date"],
  #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL DD > INPUT[type="TEXT"],
  #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL DD > INPUT[type="date"] {
    padding-top: 0.25rem; }
  #payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DL DD P,
  #payment-frm #wrapContents MAIN SECTION.questionnaireArea DL DD P {
    margin-bottom: 0.64rem; }
#payment-frm #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea > DL + DL,
#payment-frm #wrapContents MAIN SECTION.questionnaireArea > DL + DL {
  padding-top: calc(1.64 * 0.5em);
  border-top: 1px #ababab dotted; }

/* ---------------- */
/*　支払：確認 */
/* id: payment-cnf */
/* class: payment */
/* ---------------- */
#payment-cnf .progress LI:nth-of-type(3) SPAN {
  background-color: #08215C;
  color: #FFFFFF; }
#payment-cnf .progress LI:nth-of-type(3)::after {
  position: absolute;
  display: block;
  width: 100%;
  content: "";
  top: calc(50% - (2px / 2));
  left: 0;
  height: 2px;
  background-color: #DBDBDB;
  z-index: -20; }
#payment-cnf #wrapContents MAIN DL {
  border-bottom: #999999 1px dotted; }
  #payment-cnf #wrapContents MAIN DL DT {
    position: static;
    margin-bottom: 0.32rem; }
  @media screen and (min-width: 641px) and (max-width: 967px) {
    #payment-cnf #wrapContents MAIN DL DIV.btnArea2set {
      width: 80%; } }
  @media screen and (max-width: 640px) {
    #payment-cnf #wrapContents MAIN DL DIV.btnArea2set {
      width: 100%;
      overflow: visible; }
      #payment-cnf #wrapContents MAIN DL DIV.btnArea2set A.btn,
      #payment-cnf #wrapContents MAIN DL DIV.btnArea2set INPUT.btn,
      #payment-cnf #wrapContents MAIN DL DIV.btnArea2set BUTTON.btn,
      #payment-cnf #wrapContents MAIN DL DIV.btnArea2set A.btn2,
      #payment-cnf #wrapContents MAIN DL DIV.btnArea2set INPUT.btn2,
      #payment-cnf #wrapContents MAIN DL DIV.btnArea2set BUTTON.btn2 {
        display: block;
        width: 100%;
        margin-top: 26.24px;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 0.82rem;
        float: none; } }
#payment-cnf #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DT,
#payment-cnf #wrapContents MAIN SECTION.questionnaireArea DT {
  margin-bottom: 0.32rem; }
#payment-cnf #wrapContents MAIN SECTION.personalDataArea SECTION.questionnaireArea DD P,
#payment-cnf #wrapContents MAIN SECTION.questionnaireArea DD P {
  margin-bottom: 0.32rem; }

/* ---------------- */
/*　支払：完了 */
/*　通常は接尾語はendを使うが、今回はその先に手続があるため complete */
/* id: payment-comp */
/* class: payment */
/* ---------------- */
#payment-comp .progress LI:nth-of-type(4) SPAN {
  background-color: #08215C;
  color: #FFFFFF; }
#payment-comp .progress LI:nth-of-type(4)::after {
  position: absolute;
  display: block;
  width: 100%;
  content: "";
  top: calc(50% - (2px / 2));
  left: 0;
  height: 2px;
  background-color: #DBDBDB;
  z-index: -20; }

FOOTER .btn_pTopArea {
  position: fixed;
  z-index: 8800;
  width: 60px;
  right: 2.5%;
  height: 60px;
  bottom: 24px; }
  FOOTER .btn_pTopArea .btn_pTop {
    position: relative;
    margin: auto;
    height: 60px;
    -webkit-opacity: 0.9;
    opacity: 0.9; }
    FOOTER .btn_pTopArea .btn_pTop A {
      position: absolute;
      top: 0;
      right: 0px;
      z-index: 999;
      display: block;
      width: 60px;
      height: 60px;
      text-indent: -9999px;
      background-image: url(../img/iconSet.svg);
      background-size: 300px 300px;
      background-position: left -240px top 0px;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%;
      background-repeat: no-repeat;
      -webkit-opacity: 0.75;
      opacity: 0.75; }
      FOOTER .btn_pTopArea .btn_pTop A:hover, FOOTER .btn_pTopArea .btn_pTop A:focus {
        background-color: #FFFFFF;
        background-position: left -240px top -60px;
        -webkit-opacity: 0.95;
        opacity: 0.95; }
FOOTER DIV.inner {
  text-align: center;
  font-size: 11.55px; }
  FOOTER DIV.inner H3 {
    display: inline-block;
    text-indent: 0;
    background-image: url("../img/logo.svg");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
    padding-left: 30px;
    margin-right: 20px; }
  FOOTER DIV.inner ADDRESS {
    display: inline-block; }
    FOOTER DIV.inner ADDRESS SPAN {
      display: inline-block; }
    FOOTER DIV.inner ADDRESS SPAN.zip::before {
      content: "〒"; }
    FOOTER DIV.inner ADDRESS SPAN.tel::before {
      content: "☎"; }
    FOOTER DIV.inner ADDRESS SPAN.fax::before {
      content: "FAX:"; }
    FOOTER DIV.inner ADDRESS SPAN.name {
      font-weight: 800; }
    FOOTER DIV.inner ADDRESS .addr SPAN {
      display: inline-block; }
    FOOTER DIV.inner ADDRESS .zip,
    FOOTER DIV.inner ADDRESS .addr,
    FOOTER DIV.inner ADDRESS .tel {
      margin-right: 0.5em; }
FOOTER SMALL {
  font-size: max(0.78125vw, 10px);
  color: #333333;
  display: block;
  text-align: center; }
