@charset "UTF-8";
/* ==========================================================
Default
========================================================== */
@import url(./default.css);
/* colorset [SCSS] */
/* MAX WIDTH */
/* font-size [SCSS] */
/* letter-spacing */
/* line-height */
/* animate easing */
body {
  width: 100%;
  color: #333333;
  background: #EFEFEF;
  font-family: "source-han-sans-japanese", sans-serif;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
           supported by Chrome and Opera */
}

.bold {
  font-weight: bold !important;
}

.en {
  font-family: azo-sans-web, sans-serif;
}

.flexs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flexs .in-flexs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flexs .flexs-sT {
  justify-content: flex-start;
  gap: 0 1.5%;
}
.flexs .pos {
  position: relative;
}

.jc-none {
  justify-content: flex-start !important;
}

/* width size */
.w5 {
  width: 5%;
}

.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w27 {
  width: 27%;
}

.w30 {
  width: 30%;
}

.w31 {
  width: 31%;
}

.w32 {
  width: 32%;
}

.w40 {
  width: 40%;
}

.w42 {
  width: 42%;
}

.w43 {
  width: 43%;
}

.w45 {
  width: 45%;
}

.w48 {
  width: 48%;
}

.w49 {
  width: 49%;
}

.w50 {
  width: 50%;
}

.w55 {
  width: 55%;
}

.w57 {
  width: 57%;
}

.w60 {
  width: 60%;
}

.w67 {
  width: 67%;
}

.w68 {
  width: 68%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

/* padding leat */
.pl1 {
  padding-left: 5%;
}

.pl2 {
  padding-left: 6%;
}

.pl3 {
  padding-left: 7%;
}

.pl4 {
  padding-left: 8%;
}

.pl5 {
  padding-left: 9%;
}

.pl6 {
  padding-left: 10%;
}

::-moz-placeholder {
  color: #9B9B9B;
}

:-ms-input-placeholder {
  color: #9B9B9B;
}

::placeholder {
  color: #9B9B9B;
}

.boxDisplay {
  display: block !important;
}

.boxNone {
  display: none !important;
}

/* ==========================================================
!COMMONS
========================================================== */
/* コピーライト */
.fix-copy {
  width: 350px;
  height: 20px;
  position: fixed;
  top: 0;
  bottom: 0;
  right: -150px;
  margin: auto;
  word-wrap: nowrap;
  transform: rotate(-90deg);
}
.fix-copy p {
  font-size: 75%;
  letter-spacing: 0.05em;
  color: #333333;
  text-align: center;
}

/* 包含 */
#big-wrap {
  position: relative;
  min-height: 100vh;
  padding-left: 5%;
}

/* 左上固定ロゴ */
.logo {
  width: 150px;
  height: 50px;
  position: absolute;
  left: 16px;
  top: 0px;
  z-index: 10;
  margin-top: -60px;
}

/* 共通タイトル */
.com-head {
  width: 85%;
  max-width: 900px;
  margin: auto;
  position: relative;
  margin-top: 80px;
}
.com-head h1 {
  font-size: 250%;
  font-weight: 900;
  line-height: 2;
}
.com-head h2 {
  font-weight: bold;
  letter-spacing: 0.05em;
  padding-bottom: 20px;
}
.com-head h2 i {
  width: 50px;
  position: relative;
  display: inline-block;
  position: relative;
}
.com-head h2 i::before {
  width: 60%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  top: -6px;
  background: #333333;
  content: "";
  margin: auto;
}
.com-head h3 {
  font-size: 81.25%;
  padding-bottom: 40px;
  line-height: 2;
}
.com-head .k-id {
  width: 50%;
  max-width: 270px;
  position: absolute;
  right: 0;
  top: -55px;
  background: #ffffff;
  display: flex;
  justify-content: space-between;
  border-radius: 10px;
  overflow: hidden;
}
.com-head .k-id .l {
  width: 25%;
  background: #333333;
  color: #ffffff;
  padding: 10px;
  font-size: 87.5%;
  text-align: center;
}
.com-head .k-id .r {
  width: 75%;
  padding: 10px 15px;
}
.com-head .k-id .r p {
  font-size: 87.5%;
  text-align: center;
  padding-top: 2px;
}
.com-head .k-id .r p span {
  padding-right: 10px;
  font-weight: bold;
}
.com-head .k-id .r p b {
  display: inline-block;
}

/* 共通使用 */
.form-w {
  width: 85%;
  max-width: 900px;
  background: #ffffff;
  position: relative;
  margin: auto;
  border-radius: 10px;
  position: relative;
  padding: 50px;
  margin-bottom: 50px;
}
.form-w .toggle-btn {
  display: none;
}
.form-w .in-form {
  position: relative;
}
.form-w .in-form .flexs {
  margin-bottom: 10px;
}

/* 内包ボックス */
.in-form .sub-title {
  font-size: 143.75%;
  font-weight: bold;
  margin-bottom: 15px;
  position: relative;
  margin-top: 30px;
  z-index: 1;
}
.in-form .sub-title span {
  background: #ffffff;
  padding: 5px 10px 5px 0;
  position: relative;
  z-index: 10;
  letter-spacing: 0.1em;
}
.in-form .sub-title::before {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  border-bottom: 1px dotted #9B9B9B;
}
.in-form .mt-none {
  margin-top: 0px;
}

/* フォームページトップ文言 */
.title {
  font-size: 162.5%;
  font-weight: bold;
  position: absolute;
  left: 22px;
  top: -20px;
  padding-left: 20px;
  letter-spacing: 0.1em;
}
.title::before {
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 15px;
  content: "";
  background: #00316C;
}

.in-title {
  font-size: 112.5%;
  font-weight: bold;
  position: absolute;
  left: 22px;
  top: -14px;
  padding-left: 20px;
  letter-spacing: 0.1em;
}
.in-title::before {
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 10px;
  content: "";
  background: #00316C;
  border-radius: 100px;
}

.no-title {
  padding-top: 12px;
}

.nt-p {
  margin: 10px 0;
}

/* 各項目の各項目のハイフン用 */
.wavyLine {
  padding-top: 10px;
  text-align: center;
}

.wL1 {
  padding-top: 70px;
}

/* タイトルが長い場合強制キャンセル */
.wL-pt-none {
  padding: 13px 10px 10px 10px;
}

/* BTN CSS */
.gray-btn p span {
  background: #D6D6D6;
}

.main-btn p span {
  background: #00316C;
}

.agree-no {
  pointer-events: none;
}
.agree-no p span {
  background: #D6D6D6;
}

.blank-btn p span {
  background: #333333;
}

.btns-area {
  width: 88%;
  max-width: 900px;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin: auto;
  padding-bottom: 50px;
  margin-bottom: 50px;
}
.btns-area .btn {
  position: relative;
  cursor: pointer;
  margin-bottom: 50px;
}
.btns-area .btn p {
  font-size: 87.5%;
  font-weight: bold;
  text-align: center;
  margin-right: 10px;
}
.btns-area .btn p span {
  padding: 15px 33px;
  border-radius: 500px;
  position: relative;
  color: #ffffff;
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btns-area .btn p span::after {
  width: 10px;
  height: 14px;
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/arr-w.svg) no-repeat;
  background-position: center center;
  background-size: 100%;
  content: "";
}

/* ==========================================================
!form css
========================================================== */
/* 設問用 CSS */
.input {
  position: relative;
}
.input input {
  width: 100%;
  height: 50px;
  background: #ffffff;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
  padding: 12px 15px;
  font-size: 112.5%;
  caret-color: #333333;
}
.input select {
  width: 100%;
  height: 50px;
  background: #ffffff;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
  padding: 12px 15px;
  font-size: 112.5%;
}

.AmountSum {
  pointer-events: none;
}
.AmountSum input {
  text-align: right;
}

.product-line {
  padding-bottom: 20px;
  border-bottom: 1px dotted #9B9B9B;
}

/* カレンダー CSS */
.datecal {
  position: relative;
}
.datecal::before {
  width: 50px;
  height: 50px;
  position: absolute;
  right: 0;
  top: 0;
  background: #A5A5A5 url(../img/calendar.png) no-repeat;
  background-position: center center;
  background-size: 50%;
  z-index: 99;
  pointer-events: none;
  content: "";
  border-radius: 0 5px 5px 0;
}

#ui-datepicker-div {
  z-index: 99999 !important;
}

.ui-widget.ui-widget-content {
  transform: translate(0, -80px);
}

/* 住所検索ボタン */
.adr-btn {
  position: relative;
  top: 11px;
  margin-left: 10px;
}
.adr-btn p {
  text-align: center;
}
.adr-btn p span {
  padding: 10px 20px;
  background: #71B2B5;
  color: #ffffff;
  font-size: 81.25%;
  border-radius: 100px;
  cursor: pointer;
}

/* セレクタ アイコン */
.selct-icon {
  position: relative;
}
.selct-icon::before {
  width: 12px;
  height: 12px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/under-arr.svg) no-repeat;
  background-position: center center;
  background-size: 100%;
  z-index: 99;
  pointer-events: none;
  content: "";
}

/* ラジオボタン CSS */
.radio-field {
  display: flex;
  justify-content: space-between;
}
.radio-field .in-radio {
  height: 50px;
}
.radio-field .in-radio:first-child label {
  border-radius: 5px 0 0 5px;
  border-right: none;
}
.radio-field .in-radio:last-child label {
  border-radius: 0 5px 5px 0;
}
.radio-field .in-radio label {
  width: 100%;
  height: 100%;
  background: #ffffff;
  overflow: hidden;
  border: 1px solid #D6D6D6;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
  text-align: center;
}
.radio-field .in-radio label input[type=radio] {
  display: none;
}
.radio-field .in-radio label .radio-text {
  width: 100%;
  text-align: center;
}
.radio-field .in-radio label .radio-text b {
  font-weight: normal;
  position: relative;
  z-index: 10;
}
.radio-field .in-radio label .radio-text::after {
  width: 100%;
  height: 100%;
  background: #71B2B5;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  display: block;
  z-index: 1;
  mix-blend-mode: multiply;
  content: "";
  box-shadow: inset 5px 5px 5px rgba(0, 0, 0, 0.1), inset 0px 0px 0px rgba(0, 0, 0, 0.1);
}

input[type=radio]:checked + .radio-text b {
  color: #ffffff;
}

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

/* 左だけを開ける場合 */
.iP-txt-0 {
  padding: 0 0 0 40px;
}

.iP-txt-1 {
  padding: 0 0 0 70px;
}

.iP-txt-1-t3 {
  padding: 0 0 0 90px;
}

.iP-txt-1-t4 {
  padding: 0 55px 0 100px;
}

.iP-txt-1-t5 {
  padding: 0 0 0 130px;
}

.iP-txt-1-t6 {
  padding: 0 0 0 155px;
}

/* 両方を開ける場合 */
.iP-txt-2 {
  padding: 0 45px 0 70px;
}

.iP-txt-2-t5 {
  padding: 0 45px 0 130px;
}

/* 右だけを開ける場合 */
.iP-txt-3 {
  padding: 0 55px 0 0;
}

.iP-txt-3-t1 {
  padding: 0 40px 0 0;
}

/* 商品項目部分 */
.buyItem {
  width: 100%;
  background: #EFEFEF;
  border-radius: 10px;
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px;
}
.buyItem .flexs {
  position: relative;
}
.buyItem .remove-btn {
  position: absolute;
  right: 0;
  top: 20px;
  z-index: 99;
}
.buyItem .remove-btn p span {
  color: #ffffff;
  font-weight: bold;
  background: #9B9B9B;
  padding: 10px 80px;
  font-size: 87.5%;
  border-radius: 100px;
  position: relative;
  cursor: pointer;
}
.buyItem .remove-btn p span::before {
  width: 15px;
  height: 2px;
  position: absolute;
  right: 19px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #ffffff;
  border-radius: 5px;
  content: "";
}
.buyItem .add-btn {
  margin: 40px 0 20px 0;
}
.buyItem .add-btn p {
  font-size: 87.5%;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 15px 50px;
  background: #71B2B5;
  color: #ffffff;
  border-radius: 100px;
  position: relative;
}
.buyItem .add-btn p::before {
  width: 15px;
  height: 15px;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/plus-icon.svg) no-repeat;
  background-position: center center;
  background-size: 100%;
  content: "";
}
.buyItem .in {
  padding: 0 25px 25px 25px;
}
.buyItem .sum {
  position: relative;
  background: #A5A5A5;
  padding: 25px;
  border-radius: 0 0 10px 10px;
}

/* その他を選んだ場合 */
.otherArea {
  width: 100%;
  background: #EFEFEF;
  border-radius: 10px;
  position: relative;
  margin-top: 40px;
  margin-bottom: 10px;
}
.otherArea .in {
  padding: 25px;
}

/* 変更不可項目 */
.c-not {
  cursor: not-allowed !important;
}
.c-not::before {
  width: 14px;
  height: 14px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  background: url(../img/not-icon.svg) no-repeat;
  background-position: center center;
  background-size: 100%;
  z-index: 10;
}
.c-not select {
  background: #D6D6D6;
  pointer-events: none;
  cursor: not-allowed !important;
}
.c-not input {
  background: #D6D6D6;
  pointer-events: none;
  cursor: not-allowed !important;
}
.c-not .radio-text {
  cursor: not-allowed !important;
}
.c-not .radio-text b {
  color: #333333 !important;
  cursor: not-allowed !important;
}
.c-not .radio-text::after {
  background: #D6D6D6 !important;
  cursor: not-allowed !important;
}

.c-not-r::before {
  right: 75px !important;
}

.c-not-datepicker::before {
  display: none !important;
}

.c-not-radio .in-radio {
  pointer-events: none;
}
.c-not-radio::before {
  display: none !important;
}

/* エラー時のinput要素のカラー変更 */
.err input {
  background: #FFE0E0 !important;
}
.err select {
  background: #FFE0E0 !important;
}
.err .in-radio label {
  border: 1px solid #ffffff;
  background: #FFE0E0 !important;
}

/* 設問のタイトル部分 */
.item-txt {
  position: relative;
  font-size: 100%;
  font-weight: bold;
  padding-top: 15px;
  margin-bottom: 20px;
}
.item-txt .req {
  font-size: 75%;
  padding: 2px 10px;
  border-radius: 5px;
  background: #FF4D4D;
  color: #ffffff;
  margin-left: 10px;
}
.item-txt .not {
  font-size: 75%;
  padding: 2px 10px;
  border-radius: 5px;
  background: #333333;
  color: #ffffff;
  margin-left: 10px;
}
.item-txt b {
  font-size: 75%;
  font-weight: normal;
  padding-left: 10px;
  letter-spacing: 0.05em;
}

/* 強調テキスト */
.pick-txt {
  font-size: 93.75%;
  background: #333333;
  color: #ffffff;
  border-radius: 3px;
  padding: 7px 7px;
  margin-bottom: 10px;
  line-height: 1.7;
}

/* リスト要素 */
.note-list {
  margin-bottom: 20px;
}
.note-list li {
  font-size: 93.75%;
  position: relative;
  padding-left: 20px;
  line-height: 1.7;
  margin-bottom: 3px;
}
.note-list li span {
  position: absolute;
  left: 0;
  top: 0;
}
.note-list li b {
  font-weight: normal;
}

/*  */
.nomal-txt {
  font-size: 93.75%;
  margin-bottom: 10px;
  line-height: 2;
  margin-top: -10px;
  padding-bottom: 5px;
}

/* 同項目のタイトルなしの場合 */
.opa-txt {
  opacity: 0;
}

/* 設問に対する長文注釈 */
.note-txt {
  padding: 10px 0 0 0;
  line-height: 2;
}
.note-txt p {
  font-size: 75%;
}

/* エラー文 */
.err-text {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.err-text-money {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.err-text-sp {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.miss-text {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.kana-check {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.priority-check {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.mail-check {
  color: #FF4D4D;
  font-size: 62.5%;
  font-weight: bold;
  padding: 10px 0 0 0;
  display: none;
}

.ab-txt {
  position: absolute;
  top: 0;
  padding-top: 13px;
}
.ab-txt p {
  font-size: 100%;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.ab-txt .gray-txt {
  padding-top: 2px;
  color: #A5A5A5;
}

.txt-l {
  left: 3px;
  font-size: 100%;
}
.txt-l .txt2 {
  padding-left: 7px;
}
.txt-l .txt4 {
  padding-left: 0px;
}

.txt-r {
  right: 0;
  font-size: 112.5%;
}
.txt-r .txt1 {
  padding-right: 13px;
}

.txt-c-white {
  color: #ffffff;
}

#keiyakun_page {
  padding-top: 70px;
}

.clr-id {
  padding-left: 10px;
}

.offset-id {
  top: -5px;
}

#flow-icon {
  width: 60px;
  height: 335px;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 999999999;
}
#flow-icon ul li {
  width: 80px;
  background: #ffffff;
  margin-bottom: 3px;
  font-size: 87.5%;
  font-weight: bold;
  padding: 30px 5px;
  text-align: center;
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#flow-icon ul .active {
  background: #00316C;
  color: #ffffff;
}

/* ==========================================================
!カンマ処理用
========================================================== */
/*
.kanma{
    color: $white !important;
}
*/
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
}

select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
}

/*
input.kanma:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
    -webkit-text-fill-color: #ffffff;
}
*/
/*
.err{
    .kanma{
        color: $pink !important;
    }
}
*/
.comma-display {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  padding: 12px 15px;
  font-size: 112.5%;
  font-family: azo-sans-web, sans-serif;
  display: none;
}

.cm-l-p1 {
  padding-left: 115px;
}

/* ==========================================================
!login page css
========================================================== */
#login_page {
  margin-top: 80px;
}
#login_page .in-form {
  padding-top: 30px;
}
#login_page .flexs {
  margin-bottom: 20px;
}

.pass-mie01 {
  width: 24px;
  height: 22px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/pass-open.svg) no-repeat;
  background-size: 100%;
  background-position: center center;
  cursor: pointer;
}

.pass-mie01-on {
  background: url(../img/pass-close.svg) no-repeat;
  background-size: 100;
  background-position: center center;
}

/* ==========================================================
!POLICY page css
========================================================== */
#policy_page {
  margin-top: 50px;
}
#policy_page .in-form {
  padding-top: 10px;
}
#policy_page .in-form .flexs-center {
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 0px;
}
#policy_page .in-form .flexs-center .pos .radio-field {
  margin: auto;
  justify-content: center;
}
#policy_page .in-form .flexs-center .pos .radio-field label {
  border-radius: 5px !important;
  border: 1px solid #D6D6D6;
}
#policy_page .scroll {
  position: relative;
  height: 300px;
  padding: 30px;
  background: #EFEFEF;
  overflow-x: hidden;
  overflow-y: scroll;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}
#policy_page .scroll h2 {
  font-size: 112.5%;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
  position: relative;
  padding-bottom: 5px;
  margin-bottom: 20px;
  text-align: center;
  z-index: 10;
}
#policy_page .scroll h2 span {
  background: #EFEFEF;
  padding: 10px 20px;
  position: relative;
  z-index: 50;
}
#policy_page .scroll h2::before {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 19px;
  background: #00316C;
  content: "";
  z-index: 1;
}
#policy_page .scroll h3 {
  font-size: 93.75%;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-bottom: 15px;
  padding-left: 20px;
  position: relative;
  padding-top: 10px;
}
#policy_page .scroll h3::before {
  content: "・";
  color: #00316C;
  position: absolute;
  left: 3px;
}
#policy_page .scroll h4 {
  font-size: 87.5%;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-bottom: 10px;
  padding-left: 20px;
  position: relative;
  font-weight: bold;
}
#policy_page .scroll p {
  font-size: 81.25%;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
#policy_page .scroll ul {
  position: relative;
  padding-bottom: 20px;
}
#policy_page .scroll ul li {
  position: relative;
}
#policy_page .scroll ul li p {
  position: relative;
  padding-left: 25px;
}
#policy_page .scroll ul li b {
  font-size: 87.5%;
  position: absolute;
  left: 0;
  top: 4px;
  font-weight: normal;
}
#policy_page .scroll ul li ol {
  position: relative;
  padding-left: 25px;
  padding-bottom: 20px;
  padding-top: 10px;
}
#policy_page .scroll ul li ol li {
  position: relative;
}
#policy_page .scroll ul li ol li p {
  position: relative;
  padding-left: 25px;
}
#policy_page .scroll .in-box {
  padding: 10px 30px;
  border-radius: 10px;
  background: #ffffff;
  position: relative;
  margin-bottom: 30px;
  margin-top: 10px;
}
#policy_page .scroll .in-box h5 {
  font-size: 100%;
  font-weight: bold;
  padding: 10px 0;
  border-bottom: 1px dotted #9B9B9B;
  margin-bottom: 10px;
}
#policy_page .scroll .in-box p a {
  color: #71B2B5;
  text-decoration: underline;
}

/* ==========================================================
!確認ページ用 css
========================================================== */
.confirm-page input:-webkit-autofill {
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}
.confirm-page input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #D6D6D6 inset !important;
}
.confirm-page select:-webkit-autofill {
  -webkit-transition: background-color 5000s ease-in-out 0s !important;
  transition: background-color 5000s ease-in-out 0s !important;
}
.confirm-page select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #D6D6D6 inset !important;
}
.confirm-page .toggle-btn {
  display: block;
  position: absolute;
  right: 50px;
  top: -20px;
  z-index: 9999999;
  cursor: pointer;
}
.confirm-page .toggle-btn b {
  width: 15px;
  height: 15px;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.confirm-page .toggle-btn b::before {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #333333;
  content: "";
}
.confirm-page .toggle-btn b::after {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #333333;
  content: "";
  transform: rotate(0deg);
  transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.confirm-page .toggle-btn p {
  width: 142px;
  font-size: 87.5%;
  font-weight: bold;
  background: #D6D6D6;
  padding: 10px 60px 10px 30px;
  border-radius: 100px;
  position: relative;
  text-align: center;
  letter-spacing: 0.1em;
}
.confirm-page .toggle-btn p .open {
  display: none;
}
.confirm-page .toggle-btn p .close {
  display: block;
}
.confirm-page .toggle-btn-on b::after {
  transform: rotate(90deg);
}
.confirm-page .toggle-btn-on .open {
  display: block !important;
}
.confirm-page .toggle-btn-on .close {
  display: none !important;
}
.confirm-page input:-webkit-autofill {
  pointer-events: none !important;
  background: #D6D6D6 !important;
}
.confirm-page input:-webkit-autofill:focus {
  pointer-events: none !important;
  background: #D6D6D6 !important;
}
.confirm-page input {
  pointer-events: none !important;
  background: #D6D6D6 !important;
}
.confirm-page select {
  pointer-events: none !important;
  background: #D6D6D6 !important;
}
.confirm-page .add-btn {
  display: none !important;
}
.confirm-page .remove-btn {
  display: none !important;
}
.confirm-page label {
  pointer-events: none;
}
.confirm-page input[type=radio]:checked + .radio-text::after {
  background: #D6D6D6 !important;
  opacity: 1;
}
.confirm-page input[type=radio]:checked + .radio-text b {
  color: #333333;
}
.confirm-page .adr-btn {
  display: none;
}

.dot-icon {
  width: 20px;
  height: 5px;
  margin: auto;
}
.dot-icon img {
  vertical-align: top;
}

.dot-icon-hide {
  display: none;
}

/* ==========================================================
!入力完了画面 css
========================================================== */
#modal {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000000000000000300000000000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#modal .in {
  width: 90%;
  max-width: 700px;
  height: 55vh;
  max-height: 420px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #ffffff;
  border-radius: 10px;
  padding: 50px;
}
#modal .in .center-logo {
  width: 220px;
  margin: auto;
}
#modal .in h2 {
  font-size: 187.5%;
  font-weight: bold;
  text-align: center;
  margin: 30px 0;
}
#modal .in h3 {
  text-align: center;
  margin-bottom: 60px;
}
#modal .in h3 span {
  font-size: 175%;
  font-weight: bold;
  color: #ffffff;
  background: #FF4D4D;
  border-radius: 10px;
  padding: 15px 50px;
}
#modal .in .btns-area {
  justify-content: center;
}

.modal-on {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: all !important;
}

/* ==========================================================
!完了画面 及び エラー画面用 css
========================================================== */
#complete_page {
  margin-top: 80px;
}

#err_page {
  margin-top: 80px;
}

.sP-in {
  padding: 25vh 0 0 0;
}
.sP-in h2 {
  font-size: 500%;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
}
.sP-in h3 {
  font-size: 112.5%;
  font-weight: bold;
  padding-top: 0px;
  padding-bottom: 20px;
  text-align: center;
}
.sP-in h4 {
  font-size: 93.75%;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 2;
}
.sP-in .btns-area {
  margin-top: 50px;
}
.sP-in .btns-area .btn {
  width: 100%;
  margin-bottom: 10px;
}
.sP-in .btns-area .btn span {
  display: block;
  width: 300px;
  margin: auto;
}

/* ==========================================================
!SP media queries css
========================================================== */
@media screen and (max-width: 768px) {
  /* ==========================================================
  !COMMONS
  ========================================================== */
} /* end */
/* 村口さん 追加 */
.hide {
  display: none;
}

.loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  background-image: url(../img/loading.svg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: 75px 75px;
  z-index: 9999999999;
}/*# sourceMappingURL=style.css.map */