@charset "UTF-8";
/* このファイルはUTF-8のBOMなし(UTF-8N)で保存しています */

/**
 * SCSS Information
 * ===============================================================
 *
 * File name: _base.scss
 * Summary:   ベーススタイル
 * Author:    CrEa Inc.
 *
 * -----------------------------------
 *
 * TOC:
 *     =1    html & body
 *     =2    box model styles
 *       =2-1     margin
 *       =2-2     padding
 *       =2-3     box-sizing
 *     =3    text styles
 *     =4    img/video styles
 *     =5    link styles
 *     =6    list styles
 *     =7    heading styles
 *     =8    table styles
 *     =9    other selectors
 *     =10   general styles
 *       =10-1    display
 *       =10-2    position
 *       =10-3    float/align
 *       =10-4    form
 *       =10-5    clearfix
 *
 * ===============================================================
*/
/** =1
 * ========================================
 * html & body
 * ========================================
 */
html {
  height: 100%;
  font-size: 62.5%; /* 基準10px=1em */
}

body {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  color: #000305;
  font-size: 16px; /* CSS3未対応ブラウザ対策 */
  font-size: 1.6rem; /* CSS3単位 実質14px */
  line-height: 1.6;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; /* その他 font-family については、 =3 text styles セクションでクラス名で定義 */
  font-variant-ligatures: none;
}
@media screen and (max-width: 768px){
  body{
    font-size: 14px;
  }
}

/** =2
 * ========================================
 * box model styles
 * ========================================
 */
/** =2-1
   * margin
   * ----------------------------------
   */
.mb0 {
  margin-bottom: 0px !important;
}

.mb1 {
  margin-bottom: 1px !important;
}

.mb2 {
  margin-bottom: 2px !important;
}

.mb3 {
  margin-bottom: 3px !important;
}

.mb4 {
  margin-bottom: 4px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb6 {
  margin-bottom: 6px !important;
}

.mb7 {
  margin-bottom: 7px !important;
}

.mb8 {
  margin-bottom: 8px !important;
}

.mb9 {
  margin-bottom: 9px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb11 {
  margin-bottom: 11px !important;
}

.mb12 {
  margin-bottom: 12px !important;
}

.mb13 {
  margin-bottom: 13px !important;
}

.mb14 {
  margin-bottom: 14px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb16 {
  margin-bottom: 16px !important;
}

.mb17 {
  margin-bottom: 17px !important;
}

.mb18 {
  margin-bottom: 18px !important;
}

.mb19 {
  margin-bottom: 19px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb21 {
  margin-bottom: 21px !important;
}

.mb22 {
  margin-bottom: 22px !important;
}

.mb23 {
  margin-bottom: 23px !important;
}

.mb24 {
  margin-bottom: 24px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb26 {
  margin-bottom: 26px !important;
}

.mb27 {
  margin-bottom: 27px !important;
}

.mb28 {
  margin-bottom: 28px !important;
}

.mb29 {
  margin-bottom: 29px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb31 {
  margin-bottom: 31px !important;
}

.mb32 {
  margin-bottom: 32px !important;
}

.mb33 {
  margin-bottom: 33px !important;
}

.mb34 {
  margin-bottom: 34px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb36 {
  margin-bottom: 36px !important;
}

.mb37 {
  margin-bottom: 37px !important;
}

.mb38 {
  margin-bottom: 38px !important;
}

.mb39 {
  margin-bottom: 39px !important;
}

.mb40 {
  margin-bottom: 40px;
}

.mb41 {
  margin-bottom: 41px !important;
}

.mb42 {
  margin-bottom: 42px !important;
}

.mb43 {
  margin-bottom: 43px !important;
}

.mb44 {
  margin-bottom: 44px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb46 {
  margin-bottom: 46px !important;
}

.mb47 {
  margin-bottom: 47px !important;
}

.mb48 {
  margin-bottom: 48px !important;
}

.mb49 {
  margin-bottom: 49px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb51 {
  margin-bottom: 51px !important;
}

.mb52 {
  margin-bottom: 52px !important;
}

.mb53 {
  margin-bottom: 53px !important;
}

.mb54 {
  margin-bottom: 54px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb56 {
  margin-bottom: 56px !important;
}

.mb57 {
  margin-bottom: 57px !important;
}

.mb58 {
  margin-bottom: 58px !important;
}

.mb59 {
  margin-bottom: 59px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb61 {
  margin-bottom: 61px !important;
}

.mb62 {
  margin-bottom: 62px !important;
}

.mb63 {
  margin-bottom: 63px !important;
}

.mb64 {
  margin-bottom: 64px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb66 {
  margin-bottom: 66px !important;
}

.mb67 {
  margin-bottom: 67px !important;
}

.mb68 {
  margin-bottom: 68px !important;
}

.mb69 {
  margin-bottom: 69px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb71 {
  margin-bottom: 71px !important;
}

.mb72 {
  margin-bottom: 72px !important;
}

.mb73 {
  margin-bottom: 73px !important;
}

.mb74 {
  margin-bottom: 74px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb76 {
  margin-bottom: 76px !important;
}

.mb77 {
  margin-bottom: 77px !important;
}

.mb78 {
  margin-bottom: 78px !important;
}

.mb79 {
  margin-bottom: 79px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb05em {
  margin-bottom: 0.5em;
}

.mb10em {
  margin-bottom: 1em;
}

.mb15em {
  margin-bottom: 1.5em;
}

.mb20em {
  margin-bottom: 2em;
}
.mt0 {
  margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
  .spMb25 {
    margin-bottom: 25px !important;
  }
}
/** =2-2
   * padding
   * ----------------------------------
   */
.pt0 {
  padding-top: 0px;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt100 {
  padding-top: 100px;
}

.pt120 {
  padding-top: 120px;
}

.pt150 {
  padding-top: 150px;
}
.pt05em {
  padding-top: 0.5em;
}

.pt10em {
  padding-top: 1em;
}

.pt15em {
  padding-top: 1.5em;
}

.pt20em {
  padding-top: 2em;
}

/** =2-3
   * box-sizing
   * ----------------------------------
   */
* {
  box-sizing: border-box;
}

/** =3
 * ========================================
 * text styles
 * ========================================
 */
.fwNormal {
  font-weight: 400;
}

strong,
.strong,
.fwBold {
  font-weight: 700;
}

.fwBlack {
  font-weight: 900;
}

.sans-serif {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

.serif {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", serif;
}

.sans-serif-en {
  font-family: 'Oswald', sans-serif;
}

.sans-serif-en-condensed {
  font-family: "Akshar", sans-serif;
}

.fcLight {
  color: rgba(0, 0, 0, 0.4);
}

.fcBright {
  color: #fff;
}

.fcMain {
  color: #000;
}

.fcMainDark {
  color: #004077;
}

.fcSubDeep {
  color: #f39800;
}

.fcAccent {
  color: #365394;
}

.fcAttention {
  color: #e74291;
}

.fcError {
  color: #e74291;
}

.fs10 {
  font-size: 10px;
  font-size: 1rem;
}

.fs11 {
  font-size: 11px;
  font-size: 1.1rem;
}

.fs12 {
  font-size: 12px;
  font-size: 1.2rem;
}

.fs13 {
  font-size: 13px;
  font-size: 1.3rem;
}

.fs14 {
  font-size: 14px;
  font-size: 1.4rem;
}

.fs15 {
  font-size: 15px;
  font-size: 1.5rem;
}

.fs16 {
  font-size: 16px;
  font-size: 1.6rem;
}

.fs18 {
  font-size: 18px;
  font-size: 1.8rem;
}

.fs20 {
  font-size: 20px;
  font-size: 2rem;
}

.fs22 {
  font-size: 22px;
  font-size: 2.2rem;
}

.fs24 {
  font-size: 24px;
  font-size: 2.4rem;
}

.fs26 {
  font-size: 26px;
  font-size: 2.6rem;
}

.fs28 {
  font-size: 28px;
  font-size: 2.8rem;
}

.fs30 {
  font-size: 30px;
  font-size: 3rem;
}

.fs32 {
  font-size: 32px;
  font-size: 3.2rem;
}

.fs40 {
  font-size: 40px;
  font-size: 4rem;
}

.fs42 {
  font-size: 42px;
  font-size: 4.2rem;
}

.fs45 {
  font-size: 45px;
  font-size: 4.5rem;
}

.fs50 {
  font-size: 50px;
  font-size: 5rem;
}

.fs60 {
  font-size: 60px;
  font-size: 6rem;
}
.fs50per {
  font-size: 50%;
}

.fs60per {
  font-size: 60%;
}

.fs70per {
  font-size: 70%;
}

.fs80per {
  font-size: 80%;
}

.fs90per {
  font-size: 90%;
}

.fs110per {
  font-size: 110%;
}

.fs120per {
  font-size: 120%;
}

.fs130per {
  font-size: 130%;
}

.fs140per {
  font-size: 140%;
}

.fs150per {
  font-size: 150%;
}

.lh10 {
  line-height: 1;
}

.lh12 {
  line-height: 1.2;
}

.lh14 {
  line-height: 1.4;
}

.lh16 {
  line-height: 1.6;
}

.lh18 {
  line-height: 1.8;
}

.lh20 {
  line-height: 2;
}

.ls05 {
  letter-spacing: 0.05em;
}

.ls10 {
  letter-spacing: 0.1em;
}

.ls20 {
  letter-spacing: 0.2em;
}

.ls-05 {
  letter-spacing: -0.05em;
}

.ls-10 {
  letter-spacing: -0.1em;
}

.ls-20 {
  letter-spacing: -0.2em;
}

.txtIndent{
  padding-left:1em;
	text-indent:-1em;
}

sup,
sub {
  display: inline-block;
  font-size: max(50%, 1rem);
  line-height: 1;
}


/** =4
 * ========================================
 * img/video styles
 * ========================================
 */
img,
video {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.imageReplace {
  overflow: hidden;
  /* スコットケラムメソッド */
  text-indent: 100%;
  white-space: nowrap;
}

/** =5
 * ========================================
 * link styles
 * ========================================
 */
a,
a:link,
a:visited,
a:hover,
a:active {
  outline: none;
  text-decoration: none;
}

a.underline {
  text-decoration: underline;
  color: #00467E;
}

.no-touch a.underline:hover {
  text-decoration: none;
}

.transition {
  transition: all 0.3s ease;
}

.alpha {
  display: inline-block;
}

.no-touch .alpha:hover {
  opacity: 0.6;
}

.linkExternal .text {
  word-break: break-word;
}
.linkExternal [class*=icon-] {
  position: relative;
  margin-top: -0.125em;
  margin-left: 0.1875em;
}

/** =6
 * ========================================
 * list styles
 * ========================================
 */
ul li {
  list-style-type: none;
}

ol li {
  list-style-type: none;
}

ul.disc li {
  position: relative;
  padding-left: 12px;
  line-height: 1.6;
}
ul.disc li:not(:last-child) {
  margin-bottom: 0.4285714286em;
}
ul.disc li::before {
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #000;
  content: "";
}

.listNoticeItem {
  position: relative;
  padding-left: 1em;
}
.listNoticeItem::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

/** =7
 * ========================================
 * heading styles
 * ========================================
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

/** =8
 * ========================================
 * table styles
 * ========================================
 */
table {
  width: 100%;
  border-collapse: collapse;
}

th {
  font-weight: bold;
}

/** =9
 * ========================================
 * other selectors
 * ========================================
 */
hr {
  clear: both;
}

hr.dot {
  border-top: 1px #999 dotted;
}

/** =10
 * ========================================
 * general styles
 * ========================================
 */
/** =10-1
   * display
   * ----------------------------------
   */
.displayInlineBlock {
  display: inline-block;
}

.displayInline {
  display: inline;
}

.displayBlock {
  display: block;
}

.displayNone {
  display: none;
}

/* -- >>> styles for narrow layout ----- */
/* -- >>> styles for medium layout ----- */
/* -- >>> styles for wide layout ----- */
/** =10-2
   * position
   * ----------------------------------
   */
.posRelative {
  position: relative;
}

.posAbsolute {
  position: absolute;
}

.posFixed {
  position: fixed;
}

.posStatic {
  position: static;
}

/** =10-3
   * float/align
   * ----------------------------------
   */
.floatLeft {
  float: left;
}

.floatRight {
  float: right;
}

.clearLeft {
  clear: left;
}

.clearRight {
  clear: right;
}

.clearBoth {
  clear: both;
}

.txtLeft {
  text-align: left;
}

.txtCenter {
  text-align: center;
}

.txtRight {
  text-align: right;
}

.verticalTop {
  vertical-align: top;
}

.verticalMiddle {
  vertical-align: middle;
}

.verticalBottom {
  vertical-align: bottom;
}
/** =10-4
   * form
   * ----------------------------------
   */
.btn,
a.btn,
input.btn,
button.btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1em 1.5em;
  border-radius: 0;
  background-color: #0a68ce;
  color: #fff;
  font-weight: 700;
  font-size: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.no-touch .btn:hover,
.no-touch a.btn:hover,
.no-touch input.btn:hover,
.no-touch button.btn:hover {
  opacity: 0.6;
}
.btn.colorMain,
a.btn.colorMain,
input.btn.colorMain,
button.btn.colorMain {
  background-color: #0a68ce;
}
.btn.colorMainDark,
a.btn.colorMainDark,
input.btn.colorMainDark,
button.btn.colorMainDark {
  background-color: #004077;
}
.btn.colorSub,
a.btn.colorSub,
input.btn.colorSub,
button.btn.colorSub {
  background-color: #faee00;
  color: #004077;
}
.btn.colorAccent,
a.btn.colorAccent,
input.btn.colorAccent,
button.btn.colorAccent {
  background-color: #e74291;
}
.btn.colorBright,
a.btn.colorBright,
input.btn.colorBright,
button.btn.colorBright {
  background-color: #fff;
  color: #004077;
}
.btn.ghost,
a.btn.ghost,
input.btn.ghost,
button.btn.ghost {
  background-color: transparent;
  box-shadow: inset 0 0 0 1px #000;
  color: #000;
}
.btn.ghost.colorMain,
a.btn.ghost.colorMain,
input.btn.ghost.colorMain,
button.btn.ghost.colorMain {
  background-color: transparent;
  box-shadow: inset 0 0 0 1px #0a68ce;
  color: #0a68ce;
}
.btn.small,
a.btn.small,
input.btn.small,
button.btn.small {
  padding-inline: 1.1428571429em;
  padding-block: 0.7142857143em;
  font-size: 1.4rem;
}
.btn.large,
a.btn.large,
input.btn.large,
button.btn.large {
  padding-block: 0.9583333333em;
  font-weight: 700;
  font-size: clamp(2rem, 3.125vw, 2.4rem);
  letter-spacing: 0.05em;
}
.btn.widthFixed,
a.btn.widthFixed,
input.btn.widthFixed,
button.btn.widthFixed {
  min-width: 275px;
}
.btn.widthFixed.hasIcon,
a.btn.widthFixed.hasIcon,
input.btn.widthFixed.hasIcon,
button.btn.widthFixed.hasIcon {
  position: relative;
}
.btn.widthFixed.hasIcon [class*=icon-],
a.btn.widthFixed.hasIcon [class*=icon-],
input.btn.widthFixed.hasIcon [class*=icon-],
button.btn.widthFixed.hasIcon [class*=icon-] {
  position: absolute;
  top: 50%;
  right: 0.9375em;
  transform: translateY(-50%);
}
.btn.widthFixed.hasIcon [class*=icon-].arrowLeft,
a.btn.widthFixed.hasIcon [class*=icon-].arrowLeft,
input.btn.widthFixed.hasIcon [class*=icon-].arrowLeft,
button.btn.widthFixed.hasIcon [class*=icon-].arrowLeft {
  right: auto;
  left: 0.9375em;
  transform: translateY(-50%) rotateY(-180deg);
}
.btn.hasIcon,
a.btn.hasIcon,
input.btn.hasIcon,
button.btn.hasIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
}
.btn.hasIcon .text,
a.btn.hasIcon .text,
input.btn.hasIcon .text,
button.btn.hasIcon .text {
  position: relative;
  top: -0.05em;
  font-weight: inherit;
}
.btn.onlyIcon,
a.btn.onlyIcon,
input.btn.onlyIcon,
button.btn.onlyIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.btn.onlyIcon .text,
a.btn.onlyIcon .text,
input.btn.onlyIcon .text,
button.btn.onlyIcon .text {
  display: none;
}
.btn.onlyImage,
a.btn.onlyImage,
input.btn.onlyImage,
button.btn.onlyImage {
  padding: 0;
  background: none;
  box-shadow: none;
}

.btn.disabled,
button[disabled],
input[type=button][disabled],
input[type=submit][disabled],
input[type=reset][disabled] {
  cursor: not-allowed;
  opacity: 0.4;
  pointer-events: none;
}

button.btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  font-family: inherit;
}

input[type=button].btn,
input[type=submit].btn,
input[type=reset].btn {
  border: none;
  font-family: inherit;
  vertical-align: baseline;
}

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=search],
input.txt,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  display: block;
  appearance: none;
  width: 100%;
  padding: 0.625em 1em;
  border: none;
  border-radius: 3px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #aaa;
  color: inherit;
  font-size: 16px;
  line-height: 1.6;
  transition: all 0.1s ease;
}

textarea {
  height: 7.4em;
}

input[type=text].disabled,
input[type=text][disabled],
input[type=password].disabled,
input[type=password][disabled],
input[type=email].disabled,
input[type=email][disabled],
input[type=tel].disabled,
input[type=tel][disabled],
input[type=url].disabled,
input[type=url][disabled],
input[type=search].disabled,
input[type=search][disabled],
input.txt.disabled,
input.txt[disabled],
textarea.disabled,
textarea[disabled] {
  cursor: not-allowed;
  opacity: 0.3;
}

input[type=text].disabled::placeholder,
input[type=text][disabled]::placeholder,
input[type=password].disabled::placeholder,
input[type=password][disabled]::placeholder,
input[type=email].disabled::placeholder,
input[type=email][disabled]::placeholder,
input[type=tel].disabled::placeholder,
input[type=tel][disabled]::placeholder,
input[type=url].disabled::placeholder,
input[type=url][disabled]::placeholder,
input[type=search].disabled::placeholder,
input[type=search][disabled]::placeholder,
input.txt.disabled::placeholder,
input.txt[disabled]::placeholder,
textarea.disabled::placeholder,
textarea[disabled]::placeholder {
  color: #fff;
}

/* placeholder */
::-moz-placeholder {
  color: rgba(0, 0, 0, 0.4);
}
::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

::-webkit-input-placeholder {
  /* Chrome */
  color: rgba(0, 0, 0, 0.4);
}

::-moz-placeholder {
  /* Firefox */
  color: rgba(0, 0, 0, 0.4);
}

:-ms-input-placeholder {
  /* IE */
  color: rgba(0, 0, 0, 0.4) !important;
}

/* radio */
.radioWrap {
  position: relative;
}

.radioWrap input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.radioWrap .text {
  display: block;
  padding-left: 1.875em;
}

.radioWrap .text::before,
.radioWrap .text::after {
  display: block;
  position: absolute;
  top: 0.8125em;
  content: "";
}

.radioWrap .text::before {
  box-sizing: border-box;
  left: 0;
  width: 1.125em;
  height: 1.125em;
  margin-top: -0.5625em;
  border: 1px solid #000;
  border-radius: 50%;
  background-color: #fff;
  transition: all 0.1s ease;
}

.radioWrap .text::after {
  left: 0.5625em;
  width: 0.625em;
  height: 0.625em;
  margin-top: -0.3125em;
  margin-left: -0.3125em;
  border-radius: 50%;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.1s ease;
}

.radioWrap input[type=radio]:checked + .text::after {
  opacity: 1;
}

.radioWrap input[type=radio]:focus + .text::before {
  border-color: #0a68ce;
  box-shadow: 0 0 0 3px rgba(10, 104, 206, 0.2);
}

.radioWrap input[type=radio]:disabled + .text {
  cursor: not-allowed;
  opacity: 0.4;
}

.radioWrap input[type=radio]:disabled + .text::after {
  opacity: 0;
}

/* checkbox */
.checkboxWrap {
  position: relative;
}

.checkboxWrap input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.checkboxWrap .text {
  display: block;
  padding-left: 1.875em;
}

.checkboxWrap .text::before,
.checkboxWrap .text::after {
  display: block;
  position: absolute;
  content: "";
}

.checkboxWrap .text::before {
  box-sizing: border-box;
  top: 0.25em;
  left: 0;
  width: 1.125em;
  height: 1.125em;
  border: 1px solid #aaa;
  border-radius: 2px;
  background-color: #fff;
  transition: all 0.1s ease;
}

.checkboxWrap .text::after {
  top: 0.8125em;
  left: 0.5625em;
  width: 0.625em;
  height: 0.25em;
  margin-top: -0.3125em;
  margin-left: -0.375em;
  transform: rotate(-45deg);
  border-bottom: 2px solid #365394;
  border-left: 2px solid #365394;
  opacity: 0;
  transition: opacity 0.1s ease;
}

.checkboxWrap input[type=checkbox]:checked + .text::after {
  opacity: 1;
}

.checkboxWrap input[type=checkbox]:focus + .text::before {
  border-color: #0a68ce;
  box-shadow: 0 0 0 3px rgba(10, 104, 206, 0.2);
}

.checkboxWrap input[type=checkbox]:disabled + .text {
  cursor: not-allowed;
  opacity: 0.4;
}

.checkboxWrap input[type=checkbox]:disabled + .text::after {
  opacity: 0;
}

/* select */
select {
  font-size: 16px;
}

.selectWrap {
  position: relative;
}

.selectWrap::before,
.selectWrap::after {
  display: block;
  position: absolute;
  content: "";
  pointer-events: none;
}

.selectWrap::before {
  z-index: 1;
  top: 50%;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  margin-top: -0.45em;
  transform: rotate(45deg);
  border-right: 2px solid black;
  border-bottom: 2px solid black;
}

.selectWrap::after {
  z-index: 0;
  top: 1px;
  right: 1px;
  bottom: 1px;
  width: 2.4em;
  border-radius: 3px;
}

.selectWrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  display: block;
  appearance: none;
  width: 100%;
  margin: 0;
  padding: 0.5em 1em;
  padding-right: 2.4em;
  background-color: #fff;
  cursor: pointer;
  transition: all 0.1s ease;
  border: 1px solid #000;
  border-radius: 5px;
}

.selectWrap select:focus {
  border-color: #003f77;
  box-shadow: inset 0 0 0 1px #003f77, 0 0 0 3px rgba(0, 63, 119, 0.2);
}
.itemField span{
  font-weight: bold;
  margin-inline: 2px;
}
.regiBirthWrap{
  display: flex;
  align-items: center;
}
.itemField .regiBirthWrap span input{
  border: 1px solid #000;
  border-radius: 5px;
  padding: 0.625em 0.5em;
}

_:-ms-fullscreen,
:root .selectWrap::after {
  background-color: #fff;
}

_:-ms-fullscreen,
:root .selectWrap select {
  padding-right: 1em;
}

_:-ms-fullscreen,
:root .selectWrap select:focus {
  background-color: #fff;
}

/** =10-5
   * clearfix
   * ----------------------------------
   */
.clearfix:after,
.cf:after {
  display: block;
  clear: both;
  content: "";
}
@media screen and (max-width: 1499px) {
  html {
    margin: 0;
  }
}
@media screen and (max-width: 1199px) {
  html {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  html {
    margin: 0;
  }
  .pt0sp {
    padding-top: 0px;
  }
  .pt5sp {
    padding-top: 5px;
  }
  .pt10sp {
    padding-top: 10px;
  }
  .pt15sp {
    padding-top: 15px;
  }
  .pt20sp {
    padding-top: 20px;
  }
  .pt30sp {
    padding-top: 30px;
  }
  .pt40sp {
    padding-top: 40px;
  }
  .pt50sp {
    padding-top: 50px;
  }
  .pt60sp {
    padding-top: 60px;
  }
  .pt70sp {
    padding-top: 70px;
  }
  .pt80sp {
    padding-top: 80px;
  }
  .pt100sp {
    padding-top: 100px;
  }
  .pt120sp {
    padding-top: 120px;
  }
  .pt150sp {
    padding-top: 150px;
  }
  .fs10sp {
    font-size: 10px;
    font-size: 1rem;
  }
  .fs11sp {
    font-size: 11px;
    font-size: 1.1rem;
  }
  .fs12sp {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .fs13sp {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .fs14sp {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .fs15sp {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .fs16sp {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .fs18sp {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .fs20sp {
    font-size: 20px;
    font-size: 2rem;
  }
  .fs22sp {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .fs24sp {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .fs26sp {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .fs28sp {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .fs30sp {
    font-size: 30px;
    font-size: 3rem;
  }
  .fs40sp {
    font-size: 40px;
    font-size: 4rem;
  }
  .fs50sp {
    font-size: 50px;
    font-size: 5rem;
  }
  .fs60sp {
    font-size: 60px;
    font-size: 6rem;
  }
  .vpc767 {
    display: none;
  }
  .btn.onlyIcon,
  a.btn.onlyIcon,
  input.btn.onlyIcon,
  button.btn.onlyIcon {
    width: 48px;
    height: 48px;
  }
  .itemField .regiBirthWrap span:first-child input{
    width: 150px;
  }
  .itemField .regiBirthWrap span:nth-child(2) input{
    width: 50px;
  }
  .itemField .regiBirthWrap span:last-child input{
    width: 50px;
  }
}
@media screen and (max-width: 599px) {
  html {
    margin: 0;
  }
  .txtLeftSp {
    text-align: left;
  }
  .txtCenterSp {
    text-align: center;
  }
  .txtRightSp {
    text-align: right;
  }
}
@media screen and (max-width: 319px) {
  html {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .mb0pc {
    margin-bottom: 0px !important;
  }
  .mb1pc {
    margin-bottom: 1px !important;
  }
  .mb2pc {
    margin-bottom: 2px !important;
  }
  .mb3pc {
    margin-bottom: 3px !important;
  }
  .mb4pc {
    margin-bottom: 4px !important;
  }
  .mb5pc {
    margin-bottom: 5px !important;
  }
  .mb6pc {
    margin-bottom: 6px !important;
  }
  .mb7pc {
    margin-bottom: 7px !important;
  }
  .mb8pc {
    margin-bottom: 8px !important;
  }
  .mb9pc {
    margin-bottom: 9px !important;
  }
  .mb10pc {
    margin-bottom: 10px !important;
  }
  .mb11pc {
    margin-bottom: 11px !important;
  }
  .mb12pc {
    margin-bottom: 12px !important;
  }
  .mb13pc {
    margin-bottom: 13px !important;
  }
  .mb14pc {
    margin-bottom: 14px !important;
  }
  .mb15pc {
    margin-bottom: 15px !important;
  }
  .mb16pc {
    margin-bottom: 16px !important;
  }
  .mb17pc {
    margin-bottom: 17px !important;
  }
  .mb18pc {
    margin-bottom: 18px !important;
  }
  .mb19pc {
    margin-bottom: 19px !important;
  }
  .mb20pc {
    margin-bottom: 20px !important;
  }
  .mb21pc {
    margin-bottom: 21px !important;
  }
  .mb22pc {
    margin-bottom: 22px !important;
  }
  .mb23pc {
    margin-bottom: 23px !important;
  }
  .mb24pc {
    margin-bottom: 24px !important;
  }
  .mb25pc {
    margin-bottom: 25px !important;
  }
  .mb26pc {
    margin-bottom: 26px !important;
  }
  .mb27pc {
    margin-bottom: 27px !important;
  }
  .mb28pc {
    margin-bottom: 28px !important;
  }
  .mb29pc {
    margin-bottom: 29px !important;
  }
  .mb30pc {
    margin-bottom: 30px !important;
  }
  .mb31pc {
    margin-bottom: 31px !important;
  }
  .mb32pc {
    margin-bottom: 32px !important;
  }
  .mb33pc {
    margin-bottom: 33px !important;
  }
  .mb34pc {
    margin-bottom: 34px !important;
  }
  .mb35pc {
    margin-bottom: 35px !important;
  }
  .mb36pc {
    margin-bottom: 36px !important;
  }
  .mb37pc {
    margin-bottom: 37px !important;
  }
  .mb38pc {
    margin-bottom: 38px !important;
  }
  .mb39pc {
    margin-bottom: 39px !important;
  }
  .mb40pc {
    margin-bottom: 40px !important;
  }
  .mb41pc {
    margin-bottom: 41px !important;
  }
  .mb42pc {
    margin-bottom: 42px !important;
  }
  .mb43pc {
    margin-bottom: 43px !important;
  }
  .mb44pc {
    margin-bottom: 44px !important;
  }
  .mb45pc {
    margin-bottom: 45px !important;
  }
  .mb46pc {
    margin-bottom: 46px !important;
  }
  .mb47pc {
    margin-bottom: 47px !important;
  }
  .mb48pc {
    margin-bottom: 48px !important;
  }
  .mb49pc {
    margin-bottom: 49px !important;
  }
  .mb50pc {
    margin-bottom: 50px !important;
  }
  .mb51pc {
    margin-bottom: 51px !important;
  }
  .mb52pc {
    margin-bottom: 52px !important;
  }
  .mb53pc {
    margin-bottom: 53px !important;
  }
  .mb54pc {
    margin-bottom: 54px !important;
  }
  .mb55pc {
    margin-bottom: 55px !important;
  }
  .mb56pc {
    margin-bottom: 56px !important;
  }
  .mb57pc {
    margin-bottom: 57px !important;
  }
  .mb58pc {
    margin-bottom: 58px !important;
  }
  .mb59pc {
    margin-bottom: 59px !important;
  }
  .mb60pc {
    margin-bottom: 60px !important;
  }
  .mb61pc {
    margin-bottom: 61px !important;
  }
  .mb62pc {
    margin-bottom: 62px !important;
  }
  .mb63pc {
    margin-bottom: 63px !important;
  }
  .mb64pc {
    margin-bottom: 64px !important;
  }
  .mb65pc {
    margin-bottom: 65px !important;
  }
  .mb66pc {
    margin-bottom: 66px !important;
  }
  .mb67pc {
    margin-bottom: 67px !important;
  }
  .mb68pc {
    margin-bottom: 68px !important;
  }
  .mb69pc {
    margin-bottom: 69px !important;
  }
  .mb70pc {
    margin-bottom: 70px !important;
  }
  .mb71pc {
    margin-bottom: 71px !important;
  }
  .mb72pc {
    margin-bottom: 72px !important;
  }
  .mb73pc {
    margin-bottom: 73px !important;
  }
  .mb74pc {
    margin-bottom: 74px !important;
  }
  .mb75pc {
    margin-bottom: 75px !important;
  }
  .mb76pc {
    margin-bottom: 76px !important;
  }
  .mb77pc {
    margin-bottom: 77px !important;
  }
  .mb78pc {
    margin-bottom: 78px !important;
  }
  .mb79pc {
    margin-bottom: 79px !important;
  }
  .mb80pc {
    margin-bottom: 80px !important;
  }
  .mb81pc {
    margin-bottom: 81px !important;
  }
  .mb82pc {
    margin-bottom: 82px !important;
  }
  .mb83pc {
    margin-bottom: 83px !important;
  }
  .mb84pc {
    margin-bottom: 84px !important;
  }
  .mb85pc {
    margin-bottom: 85px !important;
  }
  .mb86pc {
    margin-bottom: 86px !important;
  }
  .mb87pc {
    margin-bottom: 87px !important;
  }
  .mb88pc {
    margin-bottom: 88px !important;
  }
  .mb89pc {
    margin-bottom: 89px !important;
  }
  .mb90pc {
    margin-bottom: 90px !important;
  }
  .mb91pc {
    margin-bottom: 91px !important;
  }
  .mb92pc {
    margin-bottom: 92px !important;
  }
  .mb93pc {
    margin-bottom: 93px !important;
  }
  .mb94pc {
    margin-bottom: 94px !important;
  }
  .mb95pc {
    margin-bottom: 95px !important;
  }
  .mb96pc {
    margin-bottom: 96px !important;
  }
  .mb97pc {
    margin-bottom: 97px !important;
  }
  .mb98pc {
    margin-bottom: 98px !important;
  }
  .mb99pc {
    margin-bottom: 99px !important;
  }
  .mb100pc {
    margin-bottom: 100px !important;
  }
  .mb101pc {
    margin-bottom: 101px !important;
  }
  .mb102pc {
    margin-bottom: 102px !important;
  }
  .mb103pc {
    margin-bottom: 103px !important;
  }
  .mb104pc {
    margin-bottom: 104px !important;
  }
  .mb105pc {
    margin-bottom: 105px !important;
  }
  .mb106pc {
    margin-bottom: 106px !important;
  }
  .mb107pc {
    margin-bottom: 107px !important;
  }
  .mb108pc {
    margin-bottom: 108px !important;
  }
  .mb109pc {
    margin-bottom: 109px !important;
  }
  .mb110pc {
    margin-bottom: 110px !important;
  }
  .mb111pc {
    margin-bottom: 111px !important;
  }
  .mb112pc {
    margin-bottom: 112px !important;
  }
  .mb113pc {
    margin-bottom: 113px !important;
  }
  .mb114pc {
    margin-bottom: 114px !important;
  }
  .mb115pc {
    margin-bottom: 115px !important;
  }
  .mb116pc {
    margin-bottom: 116px !important;
  }
  .mb117pc {
    margin-bottom: 117px !important;
  }
  .mb118pc {
    margin-bottom: 118px !important;
  }
  .mb119pc {
    margin-bottom: 119px !important;
  }
  .mb120pc {
    margin-bottom: 120px !important;
  }
  .vsp767 {
    display: none;
  }
  .btn.onlyIcon,
  a.btn.onlyIcon,
  input.btn.onlyIcon,
  button.btn.onlyIcon {
    width: 64px;
    height: 64px;
  }
}
@media screen and (max-width: 768px) {
  .displayPc {
    display: none;
  }
  .displaySp {
    display: inherit;
  }
  .spFs12{
    font-size: 1.2rem;
  }
  .spFs14{
    font-size: 1.4rem;
  }
  .spFs18{
    font-size: 1.8rem;
  }
  .spMb20 {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) and (max-width: 959px) {
  .displayPc {
    display: inherit;
  }
  .displaySp {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .displayPc {
    display: inherit;
  }
  .displaySp {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .vpc960 {
    display: none;
  }
}
@media screen and (min-width: 961px) {
  .vsp960 {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  .vpc900 {
    display: none;
  }
}
@media screen and (min-width: 901px) {
  .vsp900 {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .vpc480 {
    display: none;
  }
}
@media screen and (min-width: 481px) {
  .vsp480 {
    display: none;
  }
}
.txtLink{
  color: #000;
  border-bottom: 1px solid #000;
  transition: .3s;
}
.txtLink:hover{
  border-bottom: none;
}
a{
  color: #365394;
}
