@charset "UTF-8";
/* =====
 * LAYOUT :: ALL DEVICE
=================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Akshar:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mr+De+Haviland&display=swap');
.grecaptcha-badge { visibility: hidden; }
#Main .observe > .marker {position: relative;white-space: nowrap}
#Main .block-common-mv {background: #fff url("../img/bg_01.webp")no-repeat 50% 0 / 100% auto;}

#Main .block-refer-01 {position: relative;background: #fff url("../img/bg_01.webp")no-repeat 50% 0;background-size: cover;padding-bottom: 1.5em;}
#Main .block-refer-02 {position: relative;overflow: hidden;margin: -1.5em 1.5em 0;}
#Main .block-refer-02 .container {border-top: 5px solid #ffde00;border-bottom: 1px solid #fff;background-color: #fff;padding-top: 1.5em;}
#Main .block-refer-02 .lead {max-width: 800px;margin: 1em auto;text-align: center;line-height: 2;font-size: 125%;color: #4b473f;}
#Main .block-refer-02 .lead > span {display: inline-block;white-space: nowrap;font-weight: 600;}
#Main .block-refer-02 .lead > span > strong {position: relative;white-space: nowrap;font-weight: 800;font-size: 112.5%;color: var(--onestop-color);}
#Main .block-refer-02 .lead > span > strong span {font-size: 150%;}
#Main .block-refer-02 .lead > span > strong.observe::before {content: '';position: absolute;bottom: 0;left: 0;display: block;width: 0;height: .5em;background-color: #fae9b6;mix-blend-mode: multiply}
#Main .block-refer-02 .lead > span > strong.staging::before {width: 100%;transition: width cubic-bezier(.445,.05,.55,.95) 1000ms 500ms}
#Main .block-refer-02 .lead.schedule,
#Main .block-refer-02 .lead.schedule strong {color: tomato;}
#Main .block-refer-02 .caps {border: 2px solid var(--onestop-color);max-width: 54em;margin: 2em auto;padding: 2em;font-size: 87.5%;letter-spacing: 0;color: var(--onestop-color);}
#Main .block-refer-02 h3 {color: #fff;font-weight: 800;font-size: 125%;text-align: center;padding: 0.5em 0;margin: 0 1.5em;background-color: var(--onestop-color);}
#Main .block-refer-02 dl {margin: 2em auto 4em;width: calc(100% - 4em);}
#Main .block-refer-02 dl dt {color: var(--onestop-color);font-family: 'Akshar', sans-serif;font-size: 360%;font-weight: 800;float: left;clear: left;letter-spacing: 0.1em;line-height: 1;}
#Main .block-refer-02 dl dd {padding-left: 5em;padding-bottom: 1em;margin-bottom: 1.5em;position: relative;border-bottom: 1px solid #ffe5b6;}
#Main .block-refer-02 dl dd strong {color: var(--onestop-color);font-size: 125%;font-weight: 800;line-height: 1;display: block;margin-bottom: 0.25em;}
#Main .block-refer-02 dl dd span {display: inline-block;white-space: nowrap;}
#Main .block-refer-02 dl dd::after {content: "";position: absolute;bottom: -1px;left: 0;width: 5em;height: 1px;background-color: var(--onestop-color);}
#Main .block-refer-03 .container {padding: 0 0 3em;}
#Main .block-refer-03 form p.error {margin: 0;color: #C00;font-weight: bold;font-size: 78.5%;}
#Main .block-refer-03 form input.error,
#Main .block-refer-03 form select.error {border-color: #C00!important;}
#Main .block-refer-03 form .caps {margin:1.5em 0 0;line-height: 1.5;font-size: 75%;}
#Main .block-refer-03 form .caps strong {display: block;}
#Main .block-refer-03 form input[type=text],
#Main .block-refer-03 form select {display: block;border: 1px solid #ddd;border-radius: 3px;box-sizing: border-box;background-color: #f8f8f8;padding: 0.5em;width: 100%;height: 2.5em;font-size: 100%;line-height: 1.5;}
#Main .block-refer-03 form textarea {display: block;border: 1px solid #ddd;border-radius: 3px;box-sizing: border-box;padding: 0.5em;resize: vertical;font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size: 100%;line-height: 1.5;}
#Main .block-refer-03 form .profile {position: relative;background-color: #F4F6F8;margin: 0 0 1.5em;padding: 2em;}
#Main .block-refer-03 form .profile::before {content: "";position: absolute;top: 0;left: 0;right: 0;height: 3px;background: var(--grad-01);}
#Main .block-refer-03 form .profile h3 {margin-bottom: 0.5em;color: #1A63AB;text-align: center;font-size: 125%;font-weight: bold;}
#Main .block-refer-03 form .profile h3 + p {margin-bottom: 1.5em;text-align: center;font-size: 100%;color: #4b473f;}
#Main .block-refer-03 form .profile h3 + p a {margin-right: 0.25em;text-decoration: none;font-size: 125%;color: #1A63AB;}
#Main .block-refer-03 form .profile h4 {padding-bottom: 0.25em;margin-bottom: 0.5em;position: relative;border-bottom: 1px solid #ddd;font-size: 112.5%;font-weight: bold;color: #1A63AB;}
#Main .block-refer-03 form .profile h4::after {content: "";position: absolute;bottom: -1px;left: 0;width: 12.75em;height: 1px;background-color: #6AA4E1;}
#Main .block-refer-03 form .profile .grid-list {background-color: #fff;padding: 1.5em 1em;align-items: center;}
#Main .block-refer-03 form .profile .grid-list + .grid-list {margin-top: 0.5em;}
#Main .block-refer-03 form .profile .grid-list > div:nth-child(1) {width: 15em;color:#1A63AB;font-weight: bold;}
#Main .block-refer-03 form .profile .grid-list > div:nth-child(1)::after {content: "任意";display: inline-block;padding: 0.2em 1em;border: 1px solid #6AA4E1;margin-left: 0.5em;transform: translateY(-0.2em);font-size: 60%;font-weight: bold;color: #6AA4E1;line-height: 1;}
#Main .block-refer-03 form .profile .grid-list.require > div:nth-child(1)::after {content: "必須";background-color: #6AA4E1;color: #fff;}
#Main .block-refer-03 form .profile .grid-list > div:nth-child(2) {width: calc(100% - 15em);position: relative;}
#Main .block-refer-03 form .profile .grid-list > div:nth-child(2)::after {content: "";position: absolute;top: 0;left: -2em;bottom: 0;width: 1px;background-color: #6AA4E1;}
#Main .block-refer-03 form .profile .grid-list + h4 {margin-top: 1.5em;}
#Main .block-refer-03 form .profile .grid-list + h4::after {width: 18.6em;}
#Main .block-refer-03 form .profile input[type=text] {display: inline-block;background-color: #fff;max-width: 30em;}
#Main .block-refer-03 form .profile select {background-color: #fff;}
#Main .block-refer-03 form .profile .name input[type=text] {width: 12em;}
#Main .block-refer-03 form .profile .name input[type=text] + input[type=text] {margin-left: 0.5em;}
#Main .block-refer-03 form .profile .name .kana,
#Main .block-refer-03 form .profile .address .pref,
#Main .block-refer-03 form .profile .address .city,
#Main .block-refer-03 form .profile .address .street,
#Main .block-refer-03 form .profile .address .bldg,
#Main .block-refer-03 form .profile .friend_name .kana {margin-top: 0.5em;}
#Main .block-refer-03 form .profile .friend_name input[type=text] {width: 24.5em;}
#Main .block-refer-03 form .profile .address .zip {position: relative;padding-left: 1.5em;}
#Main .block-refer-03 form .profile .address .zip::before {content: "〒";position: absolute;top: 50%;left: 0;transform: translateY(-50%);}
#Main .block-refer-03 form .profile .address .zip input[type=text] {width: 10.5em;}
#Main .block-refer-03 form .profile .address .pref select {width: 12em;}
#Main .block-refer-03 form .profile .relationship ul > li label input {display: none;}
#Main .block-refer-03 form .profile .relationship ul > li label span {display: block;position: relative;padding-left: 3em;}
#Main .block-refer-03 form .profile .relationship ul > li label span::before {content: "";width: 1.4em;height: 1.4em;background-color: #fff;border: 1px solid #ddd;border-radius: 100%;position: absolute;top: 50%;left: 0.6em;transform: translateY(-50%);}
#Main .block-refer-03 form .profile .relationship ul > li label span::after {content: "";width: 1em;height: 1em;background-color: #ddd;border: 1px solid #ddd;border-radius: 100%;position: absolute;top: 50%;left: 0.8em;transform: translateY(-50%);}
#Main .block-refer-03 form .profile .relationship ul > li label input:checked + span::before {border-color: #f0b900;}
#Main .block-refer-03 form .profile .relationship ul > li label input:checked + span::after {background-color: #f0b900;border-color: #f0b900;}
#Main .block-refer-03 form .profile .contact ul > li label input {display: none;}
#Main .block-refer-03 form .profile .contact ul > li label span {display: block;position: relative;padding-left: 3em;}
#Main .block-refer-03 form .profile .contact ul > li label span::before {content: "";width: 1.4em;height: 1.4em;background-color: #fff;border: 1px solid #ddd;border-radius: 3px;position: absolute;top: 50%;left: 0.6em;transform: translateY(-50%);}
#Main .block-refer-03 form .profile .contact ul > li label span::after {content: "";width: 1em;height: 1em;background-color: #ddd;border: 1px solid #ddd;border-radius: 0;position: absolute;top: 50%;left: 0.8em;transform: translateY(-50%);}
#Main .block-refer-03 form .profile .contact ul > li label input:checked + span::before {border-color: #f0b900;}
#Main .block-refer-03 form .profile .contact ul > li label input:checked + span::after {background-color: #f0b900;border-color: #f0b900;}
#Main .block-refer-03 form .profile .comment textarea {height: 4em;} 
#Main .block-refer-03 form .membership {padding: 1.5em 0 0.5em;margin-bottom: 1.5em;border-bottom: 1px solid #f0b900;}
#Main .block-refer-03 form .membership p {text-align: center;}
#Main .block-refer-03 form .membership p strong {display: block;color: var(--onestop-color);}
#Main .block-refer-03 form .membership .grid-list {justify-content: center;}
#Main .block-refer-03 form .membership .grid-list > li label input {display: none;}
#Main .block-refer-03 form .membership .grid-list > li label span {display: block;position: relative;padding-left: 3em;}
#Main .block-refer-03 form .membership .grid-list > li label span::before {content: "";width: 1.4em;height: 1.4em;background-color: #fff;border: 1px solid #ddd;border-radius: 100%;position: absolute;top: 50%;left: 0.6em;transform: translateY(-50%);}
#Main .block-refer-03 form .membership .grid-list > li label span::after {content: "";width: 1em;height: 1em;background-color: #ddd;border: 1px solid #ddd;border-radius: 100%;position: absolute;top: 50%;left: 0.8em;transform: translateY(-50%);}
#Main .block-refer-03 form .membership .grid-list > li label input:checked + span::before {border-color: #f0b900;}
#Main .block-refer-03 form .membership .grid-list > li label input:checked + span::after {background-color: #f0b900;border-color: #f0b900;}
#Main .block-refer-03 .confirm p:nth-child(1) {max-width: 36em;padding-left: 6.5em;margin: 0 auto 1.25em;background: transparent url("https://daieisangyo.co.jp/wp-2021/wp-content/themes/daieisangyo/assets/img/common/icon_privacy.svg") no-repeat 0 50% / auto 100%;font-size: 87.5%;color: #454545;}
#Main .block-refer-03 .confirm .grid-list {justify-content: center;}
#Main .block-refer-03 .confirm .grid-list > li label input {display: none;}
#Main .block-refer-03 .confirm .grid-list > li label span {display: block;position: relative;padding-left: 3em;}
#Main .block-refer-03 .confirm .grid-list > li label span strong {content: "必須";display: inline-block;padding: 0.2em 1em;border: 1px solid #f0b900;background-color: #f0b900;margin-left: 0.5em;transform: translateY(-0.2em);font-size: 60%;font-weight: bold;color: #fff;line-height: 1;}
#Main .block-refer-03 .confirm .grid-list > li label span::before {content: "";width: 1.4em;height: 1.4em;background-color: #fff;border: 1px solid #ddd;border-radius: 100%;position: absolute;top: 50%;left: 0.6em;transform: translateY(-50%);}
#Main .block-refer-03 .confirm .grid-list > li label span::after {content: "";width: 1em;height: 1em;background-color: #ddd;border: 1px solid #ddd;border-radius: 100%;position: absolute;top: 50%;left: 0.8em;transform: translateY(-50%);}
#Main .block-refer-03 .confirm .grid-list > li label input:checked + span::before {border-color: #f0b900;}
#Main .block-refer-03 .confirm .grid-list > li label input:checked + span::after {background-color: #f0b900;border-color: #f0b900;}
#Main .block-refer-03 .confirm .submit {max-width:20em;margin: 0 auto;}
#Main .block-refer-03 .confirm .submit button {display: block;box-sizing: border-box;width: 100%;border: 0 none transparent;background-color: #ddd;padding: 1em;position: relative;pointer-events: none;transition: background-color cubic-bezier(0.445, 0.05, 0.55, 0.95) 200ms;font-weight: bold;font-size: 100%;color: #fff;text-align: center;}
#Main .block-refer-03 .confirm .submit button.staging {background-color: var(--onestop-color);pointer-events: inherit;}
#Main .block-refer-03 .confirm .submit button::before {content: ">";position: absolute;top: 50%;right: 1em;transform: translateY(-50%) scaleX(0.5);}
#Main .block-refer-03 .confirm .caps {margin-top: 3em;text-align: center;font-size: 10px;font-weight: 400;color: #454545;}
#Main .block-refer-04 .container {padding: 1.5em 1.5em 3em;}
#Main .block-refer-04 .container > h3 {border-bottom: 1px solid #ddd;padding-bottom: 0.5em;margin-bottom: 1em;font-size: 100%;font-weight: bold;text-align: center;color: #1A63AB;}
#Main .block-refer-04 .container > p {font-size: 100%;font-weight: normal;line-height: 2;text-align: center;}
#Main .block-refer-04 .container > p a:not(.btn) {color: #6AA4E1;}
#Main .block-refer-04 .container > p.back {max-width: 20em;margin: 3em auto 0;}
#Main .block-refer-04 .container > p.back a {background-color: #333;padding: 1.5em 1em;border-radius: 5px;position: relative;font-weight: bold;font-size: 87.5%;color: #fff;text-align: center;}
#Main .block-refer-04 .container > p.back a::before {content: "<";position: absolute;top: 50%;left: 1em;transform: translateY(-50%) scaleX(0.5);}

/* =====
* LAYOUT :: PC
=================================================================== */
@media only screen and (min-width: 1025px) {
  #Main .block-refer-02 .lead {width: calc(100% - 3em);}
  #Main .block-refer-02 .caps {width: calc(100% - 6.5em);}
  #Main .block-refer-03 form .profile .relationship ul > li label span {cursor: pointer;}
  #Main .block-refer-03 form .profile .comment textarea {width: calc(100% - 1em);}
  #Main .block-refer-03 form .membership .grid-list > li label span {cursor: pointer;}
  #Main .block-refer-03 .confirm .grid-list > li label span {cursor: pointer;}
  #Main .block-refer-03 .confirm .submit button {cursor: default;}
  #Main .block-refer-03 .confirm .submit button.staging {cursor: pointer;}
}
@media only screen and (min-width: 1025px) and (max-width: 1600px) {}
@media only screen and (min-width: 1025px) and (max-width: 1280px) {}
@media only screen and (min-width: 1025px) and (max-width: 1150px) {
  #Main .block-refer-03 form .profile .grid-list > div:nth-child(1) {width: 13em;}
  #Main .block-refer-03 form .profile .grid-list > div:nth-child(2) {width: calc(100% - 13em);}
}
/* =====
* LAYOUT :: TAB
=================================================================== */
@media only screen and (max-width: 1024px) {
  #Main .block-refer-03 form .profile .comment textarea {width: calc(100% - 1em);}
}
/* =====
* LAYOUT :: SP
=================================================================== */
@media only screen and (max-width: 768px) {
  #Main .block-refer-02 .lead {font-size: 112.5%;max-width: 24em;}
  #Main .block-refer-02 .caps {padding: 1em;}
  #Main .block-refer-02 h3 {margin: 0;}
  #Main .block-refer-02 dl {width: 100%;}
  #Main .block-refer-02 dl dt {font-size: 520%;}
  #Main .block-refer-02 dl dd {padding-left: 7em;}
  #Main .block-refer-02 dl dd::after {width: 7em;}
  #Main .block-refer-03 form .profile h3 {border: 1px solid #6AA4E1;padding: 0.5em 0;margin-bottom: 1em;}
  #Main .block-refer-03 form .profile .grid-list > div:nth-child(1) {width: 100%;}
  #Main .block-refer-03 form .profile .grid-list > div:nth-child(2) {width: 100%;padding-top: 1em;}
  #Main .block-refer-03 form .profile .grid-list > div:nth-child(2)::after {bottom: inherit;left: 0;width: 100%;height: 1px;}
  #Main .block-refer-03 form .profile .comment textarea {width: 100%;}
  #Main .block-refer-03 .confirm p:nth-child(1) {background-size: auto 5em;margin-bottom: 3em;}
}
@media only screen and (max-width: 768px) and (orientation: landscape) {}
@media only screen and (max-width: 640px) {}
@media only screen and (max-width: 480px) {}


