@charset "UTF-8";
@media screen and (min-width: 769px), print {
  .pc {
    display: block;
  }
  /* Step
  =============================================================================*/
  .step-wrapper {
    margin: 10px 0 30px 0;
  }
  .step-wrapper .step-area {
    margin: 0 auto;
  }
  .step-wrapper .step-area ul li {
    float: left;
    height: 70px;
  }
  .step-wrapper .step-area ul li p {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
  }
  .step-wrapper .step-area ul li span.txt {
    font-size: 18px;
    display: block;
    line-height: 1.4em;
    font-weight: bold;
  }
  .step-wrapper .step-area ul li.step01 {
    width: 25%;
    position: relative;
  }
  .step-wrapper .step-area ul li.step02, .step-wrapper .step-area ul li.step03, .step-wrapper .step-area ul li.step04 {
    width: 25%;
  }
  /*step01-now*/
  .step-area ul.step01-now li.step01 {
    background: url("../../images/step-wfs001.gif") #03a744 no-repeat right 0 center;
    color: #ffffff;
  }
  .step-area ul.step01-now li.step01::before {
    content: url("../../images/step-wfs007.gif");
    position: absolute;
    top: -1px;
    left: 0;
  }
  .step-area ul.step01-now li.step02, .step-area ul.step01-now li.step03 {
    background: url("../../images/step-wfs002.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step01-now li.step04 {
    background: url("../../images/step-wfs003.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step02-now li.step01 {
    background: url("../../images/step-wfs004.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step02-now li.step01::before {
    content: url("../../images/step-wfs006.gif");
    position: absolute;
    top: -1px;
    left: 0;
  }
  .step-area ul.step02-now li.step02 {
    background: url("../../images/step-wfs001.gif") #03a744 no-repeat right 0 center;
    color: #ffffff;
  }
  .step-area ul.step02-now li.step03 {
    background: url("../../images/step-wfs002.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step02-now li.step04 {
    background: url("../../images/step-wfs003.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step03-now li.step01 {
    background: url("../../images/step-wfs002.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step03-now li.step01::before {
    content: url("../../images/step-wfs006.gif");
    position: absolute;
    top: -1px;
    left: 0;
  }
  .step-area ul.step03-now li.step02 {
    background: url("../../images/step-wfs004.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step03-now li.step03 {
    background: url("../../images/step-wfs001.gif") #03a744 no-repeat right 0 center;
    color: #ffffff;
  }
  .step-area ul.step03-now li.step04 {
    background: url("../../images/step-wfs003.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step04-now li.step01 {
    background: url("../../images/step-wfs002.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step04-now li.step01::before {
    content: url("../../images/step-wfs006.gif");
    position: absolute;
    top: -1px;
    left: 0;
  }
  .step-area ul.step04-now li.step02 {
    background: url("../../images/step-wfs002.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step04-now li.step03 {
    background: url("../../images/step-wfs004.gif") #f4f4f4 no-repeat right 0 center;
  }
  .step-area ul.step04-now li.step04 {
    background: url("../../images/step-wfs005.gif") #03a744 no-repeat right 0 center;
    color: #fff;
  }
  /*step02-now*/
  /*step03-now*/
  /*step04-now*/
  /* END Step
  =============================================================================*/
  .ttl h1::before {
    width: 45px;
    height: 35px;
    background: url("../../images/apply/icon_ttl.webp") no-repeat;
    top: -1px;
    left: 5px;
  }
  .ttl_pay h1::before {
    width: 49px;
    height: 52px;
    background: url("../../images/apply/icon_pay_ttl.webp") no-repeat;
    top: -25%;
    left: 5px;
  }
  .form {
    padding: 2px 0 66px;
  }
  .form > p {
    font-size: 1.6rem;
    line-height: 31px;
    text-align: center;
  }
  .form h3 {
    width: 100%;
    height: 39px;
    background: #03a744;
    font-size: 1.6rem;
    line-height: 39px;
    color: #fff;
    letter-spacing: 0.4px;
    padding: 0 16px;
    margin-bottom: 20px;
  }
  .form .caution {
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    color: #03a744;
    position: relative;
    padding-left: 16px;
    margin-bottom: 20px;
    text-indent: -1em;
    margin-left: 1em;
  }
  .form .agreement {
    padding: 16px 0 5px;
  }
  .form .hdl_personal {
    padding: 30px 0 42px;
  }
  .form .checkbox {
    padding: 10px 0 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .form .checkbox.t-left {
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .form .checkbox input[type=checkbox] {
    display: none;
  }
  .form .checkbox input[type=checkbox]:checked ~ label::after {
    content: "";
    display: block;
    width: 8px;
    height: 4px;
    border-left: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    position: absolute;
    top: 9px;
    left: 4px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .form .checkbox label {
    font-size: 1.4rem;
    line-height: 27px;
    display: block;
    padding-left: 31px;
    position: relative;
  }
  .form .checkbox label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border: 1px solid #c0c0c0;
    position: absolute;
    top: 4px;
    left: 0;
  }
  .form .scroll {
    border: 2px solid #e5e5e5;
    font-size: 1.4rem;
    line-height: 27px;
    color: #040404;
    counter-reset: dt;
  }
  .form .scroll .mCustomScrollbar {
    height: 196px;
    overflow: hidden;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside {
    position: relative;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside::before {
    content: "";
    display: block;
    width: -webkit-calc(100% - 26px);
    width: -moz-calc(100% - 26px);
    width: calc(100% - 26px);
    height: 17px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside::after {
    content: "";
    display: block;
    width: -webkit-calc(100% - 26px);
    width: -moz-calc(100% - 26px);
    width: calc(100% - 26px);
    height: 24px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside > .mCSB_container {
    padding: 17px 42px 24px;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools {
    width: 28px;
    opacity: 1;
    right: -2px;
    z-index: 1;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer {
    margin: 28px 0;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer .mCSB_dragger {
    width: 24px;
    left: 2px;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer .mCSB_dragger .mCSB_dragger_bar {
    width: 100%;
    -moz-border-radius: 0;
    border-radius: 0;
    background: #fff;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer .mCSB_draggerRail {
    width: 100%;
    -moz-border-radius: 0;
    border-radius: 0;
    background: #e5e5e5;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_buttonUp {
    width: 28px;
    height: 28px;
    background: url("../../images/scroll_up.webp") no-repeat;
    opacity: 1;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_buttonDown {
    width: 28px;
    height: 28px;
    background: url("../../images/scroll_down.webp") no-repeat;
    opacity: 1;
  }
  .form .scroll p {
    font-size: 1.4rem;
    line-height: 27px;
    margin-bottom: 27px;
    counter-reset: span;
  }
  .form .scroll p span {
    counter-increment: span;
    display: block;
    position: relative;
    padding-left: 17px;
  }
  .form .scroll p span::before {
    content: counter(span) ".";
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    position: absolute;
    left: 0;
    top: 0;
  }
  .form .scroll ul {
    counter-reset: li;
  }
  .form .scroll ul li {
    counter-increment: li;
    font-size: 1.4rem;
    line-height: 27px;
    position: relative;
    text-indent: 25px;
    margin-bottom: 27px;
  }
  .form .scroll ul li::before {
    content: counter(li) ".";
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    position: absolute;
    left: -25px;
    top: 0;
  }
  .form .main_form.idx_form {
    padding-top: 16px;
  }
  .form .main_form form .row_form {
    padding: 20px 0;
    border-top: 1px solid #e5e5e5;
  }
  .form .main_form form .row_form:nth-of-type(8) {
    padding: 18px 0 13px;
  }
  .form .main_form form .row_form:nth-of-type(8) > label em {
    margin-top: 16px;
  }
  .form .main_form form .row_form:nth-of-type(8) input {
    margin-top: 12px;
  }
  .form .main_form form .row_form::after {
    content: "";
    display: table;
    clear: both;
  }
  .form .main_form form .row_form > label {
    float: left;
    width: 240px;
    font-size: 1.6rem;
    line-height: 35px;
    padding-left: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .form .main_form form .row_form > label.br {
    line-height: 21px;
  }
  .form .main_form form .row_form > label em {
    display: block;
    font-style: normal;
    width: 43px;
    height: 28px;
    background: #fcff00;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 28px;
    margin-top: 1px;
    text-align: center;
  }
  .form .main_form form .row_form > label em.mt {
    margin-top: 4px;
  }
  .form .main_form form .row_form .wrap {
    margin-left: 290px;
    font-size: 1.6rem;
    line-height: 35px;
  }
  .form .main_form form .row_form .wrap .pdf {
    display: inline-block;
    margin-left: 32px;
  }
  .form .main_form form .row_form .wrap .pdf a {
    color: #000;
    font-size: 1.4rem;
    text-decoration: underline;
  }
  .form .main_form form .row_form .wrap::after {
    content: "";
    display: table;
    clear: both;
  }
  .form .main_form form .row_form .wrap ul.col_2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .form .main_form form .row_form .wrap ul.col_2 li {
    width: 153px;
  }
  .form .main_form form .row_form .wrap ul.col_2 li:last-of-type {
    width: auto;
    margin: 0 24px 0 0;
  }
  .form .main_form form .row_form .wrap ul.birth_date {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .form .main_form form .row_form .wrap ul.birth_date li {
    width: 207px;
    margin-right: 21px;
  }
  .form .main_form form .row_form .wrap ul.block_radio {
    margin-bottom: 5px;
  }
  .form .main_form form .row_form .wrap .fee_area {
    display: none;
    margin-top: 30px;
  }
  .form .main_form form .row_form .wrap .attr {
    width: 100%;
  }
  .form .main_form form .row_form .wrap .attr::after {
    content: "";
    display: table;
    clear: both;
  }
  .form .main_form form .row_form .wrap .attr ul {
    float: left;
  }
  .form .main_form form .row_form .wrap .attr .ip_number {
    float: left;
  }
  .form .main_form form .row_form .wrap .attr .ip_number input {
    width: 346px;
    margin-left: 5px;
  }
  .form .main_form form .row_form .wrap .postal::after {
    content: "";
    display: table;
    clear: both;
  }
  .form .main_form form .row_form .wrap .postal ul {
    float: left;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .form .main_form form .row_form .wrap .postal ul li {
    position: relative;
  }
  .form .main_form form .row_form .wrap .postal ul li::before {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    background: #6b6b6b;
    position: absolute;
    top: 16px;
    left: -24px;
  }
  .form .main_form form .row_form .wrap .postal ul li:first-of-type {
    margin-right: 33px;
  }
  .form .main_form form .row_form .wrap .postal ul li:first-of-type::before {
    display: none;
  }
  .form .main_form form .row_form .wrap .postal ul li:first-of-type input {
    margin-left: 7px;
  }
  .form .main_form form .row_form .wrap .postal ul li input {
    width: 118px;
    text-align: center;
  }
  .form .main_form form .row_form .wrap .postal small.note {
    width: auto;
    float: left;
    margin: 4px 0 0 10px;
  }
  .form .main_form form .row_form .wrap .phone_number ul {
    float: left;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .form .main_form form .row_form .wrap .phone_number ul li {
    position: relative;
    margin-right: 33px;
  }
  .form .main_form form .row_form .wrap .phone_number ul li::after {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    background: #6b6b6b;
    position: absolute;
    top: 16px;
    right: -24px;
  }
  .form .main_form form .row_form .wrap .phone_number ul li:last-of-type {
    margin-right: 0;
  }
  .form .main_form form .row_form .wrap .phone_number ul li:last-of-type::after {
    display: none;
  }
  .form .main_form form .row_form .wrap .phone_number ul li input {
    width: 118px;
    text-align: center;
  }
  .form .main_form form .row_form .wrap .phone_number small.note {
    float: left;
    width: auto;
    margin: 4px 0 0 8px;
  }
  .form .main_form form .row_form .wrap .mail::after {
    content: "";
    display: table;
    clear: both;
  }
  .form .main_form form .row_form .wrap .mail input {
    float: left;
  }
  .form .main_form form .row_form .wrap .mail small.note {
    float: left;
    width: auto;
    margin: 4px 0 0 14px;
  }
  .form .main_form form .row_form .wrap .ip_info {
    line-height: 30px;
    margin-bottom: 15px;
  }
  .form .main_form form .row_form .wrap .ip_info:last-of-type {
    margin-bottom: 0;
  }
  .form .main_form form .row_form .wrap .ip_info span {
    display: block;
  }
  .form .main_form form .row_form .wrap .ip_info label {
    display: block;
  }
  .form .main_form form .row_form .wrap .ip_info label.select {
    width: 387px;
  }
  .form .main_form form .row_form .wrap .ip_info ul.col_2 {
    margin: 19px 0 7px;
  }
  .form .main_form form .row_form .wrap dl {
    line-height: 31px;
    margin-bottom: 14px;
  }
  .form .main_form form .row_form .wrap dl:nth-of-type(2) {
    margin-bottom: 11px;
  }
  .form .main_form form .row_form .wrap dl:last-of-type {
    margin-bottom: 0;
  }
  .form .main_form form .row_form .wrap dl dd::after {
    content: "";
    display: table;
    clear: both;
  }
  .form .main_form form .row_form .wrap dl dd label.select {
    width: 183px;
  }
  .form .main_form form .row_form .wrap dl dd input {
    float: left;
  }
  .form .main_form form .row_form .wrap dl dd small.note {
    float: left;
    width: auto;
    margin: 2px 0 0 10px;
  }
  .form .main_form form .row_form .wrap .autofill {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .form .main_form form .row_form .wrap .autofill input {
    width: 183px;
    display: block;
  }
  .form .main_form form .row_form .wrap .autofill button {
    display: block;
    width: 142px;
    height: 34px;
    background: #000;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 34px;
    color: #fff;
    border: none;
    -moz-border-radius: 7px;
    border-radius: 7px;
    padding: 0 37px 0 0;
    margin: 0 13px 0 20px;
    position: relative;
    outline: none;
    cursor: pointer;
  }
  .form .main_form form .row_form .wrap .autofill button::before {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/autofill.webp") no-repeat;
    position: absolute;
    top: 7px;
    right: 15px;
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .form .main_form form .row_form .wrap .autofill button {
    line-height: 36px;
  }
}
@media screen and (min-width: 769px), print {
  .form .main_form form .row_form .wrap .autofill small {
    width: -webkit-calc(100% - 358px);
    width: -moz-calc(100% - 358px);
    width: calc(100% - 358px);
  }
  .form .main_form form .row_form .wrap p.noted {
    line-height: 24px;
    margin-bottom: 12px;
  }
  .form .main_form form .row_form .wrap p.noted-g {
    color: #03a744;
    line-height: 24px;
    margin-bottom: 12px;
  }
  .form .main_form form .row_form .join-list li:not(:nth-of-type(1)) {
    margin-top: 30px;
  }
  .form .main_form form .row_form .join-list li .flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .form .main_form form .row_form .join-list li .flex .fig {
    height: auto;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 30px;
    width: 230px;
  }
  .form .main_form form .row_form .join-list li .flex .fig img {
    height: auto;
    width: 100%;
  }
  .form .main_form form .row_form .join-list li .flex p {
    line-height: 1.75;
  }
  .form .main_form form small.note {
    width: 100%;
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    color: #03a744;
    position: relative;
    padding-left: 16px;
  }
  .form .main_form form small.note::before {
    content: "※";
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    color: #03a744;
    position: absolute;
    top: 0;
    left: 0;
  }
  .form .main_form form .radio input[type=radio] {
    display: none;
  }
  .form .main_form form .radio input[type=radio]:checked ~ label::before {
    border-width: 5px;
    width: 8px;
    height: 8px;
  }
  .form .main_form form .radio label {
    padding-left: 28px;
    position: relative;
    line-height: 20px;
    cursor: pointer;
  }
  .form .main_form form .radio label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 1px solid #03a744;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: absolute;
    top: 1px;
    left: 0;
  }
  .form .main_form form input[type=text] {
    width: -webkit-calc(100% - 20px);
    width: -moz-calc(100% - 20px);
    width: calc(100% - 20px);
    height: 35px;
    border: 1px solid #03a744;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 1.4rem;
    line-height: 33px;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .form .main_form form input[type=text].w_input {
    width: 610px;
  }
  .form .main_form form input[type=text]::-ms-clear {
    display: none;
  }
  /* フィールドベスト詳細 */
  .field-vest-section {
    margin-top: 50px !important;
    padding-bottom: 120px;
  }
  .field-vest-section .heading {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: bold;
    color: #03a744;
    border-top: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    padding: 22px 0 20px;
  }
  .field-vest-section .heading br {
    display: none;
  }
  .field-vest-section .explanation {
    margin-top: 50px;
  }
  .field-vest-section .explanation::after {
    content: "";
    display: block;
    clear: both;
  }
  .field-vest-section .explanation div {
    float: right;
    height: 55px;
  }
  .field-vest-section .explanation p {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .field-vest-section .explanation p:nth-of-type(2), .field-vest-section .explanation p:last-of-type {
    margin-top: 1em;
  }
  .field-vest-section .explanation figure {
    width: min(100%, 210px);
    float: right;
    clear: both;
  }
  .field-vest-section .explanation figure figcaption {
    font-size: 1.1rem;
  }
  .field-vest-section .size-wrap {
    display: flex;
    margin-top: 40px;
  }
  .field-vest-section .size-wrap figure {
    width: 25%;
  }
  .field-vest-section .size-wrap figure figcaption {
    font-size: 1.2rem;
    padding-left: 1em;
  }
  .field-vest-section .size-wrap .size {
    width: min(75%, 800px);
    border: 3px solid #44B034;
    border-radius: 15px;
    position: relative;
    padding: 15px 50px;
  }
  .field-vest-section .size-wrap .size span {
    background-color: #44B034;
    color: #fff;
    border-radius: 5px;
    position: absolute;
    top: -12px;
    left: 15px;
    font-size: 16px;
    font-weight: bold;
    padding: 0 0.5em;
  }
  .field-vest-section .size-wrap .size .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .field-vest-section .size-wrap .size .inner figure {
    width: min(50%, 230px);
  }
  .field-vest-section .size-wrap .size .inner table {
    width: min(50%, 365px);
    border-collapse: separate;
    margin-top: 15px;
  }
  .field-vest-section .size-wrap .size .inner table tr:nth-of-type(2n+1) {
    background-color: initial;
  }
  .field-vest-section .size-wrap .size .inner table tr td {
    border: 1px solid #717071;
    font-size: 1.4rem;
    text-align: center;
    padding: 0.3em 0 0;
  }
  .field-vest-section .size-wrap .size .inner table tr:first-of-type td {
    height: 25px;
  }
  .field-vest-section .size-wrap .size .inner table tr:first-of-type td:first-child {
    border-radius: 10px 0 0 0;
  }
  .field-vest-section .size-wrap .size .inner table tr:first-of-type td:last-child {
    border-radius: 0 10px 0 0;
  }
  .field-vest-section .size-wrap .size .inner table tr:not(:first-of-type) td {
    height: 33px;
  }
  .field-vest-section .size-wrap .size .inner table tr:last-of-type td:first-child {
    border-radius: 0 0 0 10px;
  }
  .field-vest-section .size-wrap .size .inner table tr:last-of-type td:last-child {
    border-radius: 0 0 10px 0;
  }
  .field-vest-section .look {
    margin-top: 50px;
  }
  .field-vest-section .look h3 {
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    padding-left: 1.2em;
  }
  .field-vest-section .look h3.s-size::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #EC6C00;
    left: 0;
    top: 4px;
  }
  .field-vest-section .look h3.m-size::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #44B034;
    left: 0;
    top: 4px;
  }
  .field-vest-section .look h3.l-size::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #0069B7;
    left: 0;
    top: 4px;
  }
  .field-vest-section .look h3.l-size + .inner {
    justify-content: flex-start;
    column-gap: 25px;
  }
  .field-vest-section .look .inner {
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
  }
  .field-vest-section .look .inner figure {
    width: min(25%, 260px);
  }
  .field-vest-section .look .inner figure img {
    object-fit: cover;
    height: 100%;
  }
  .field-vest-section .look small {
    display: block;
    width: max-content;
    margin: 15px 0 0 auto;
    font-size: 2rem;
    font-weight: bold;
    color: #E50011;
    position: relative;
  }
  .field-vest-section .look small::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 100vh;
    background-color: #E50011;
    left: -1.2em;
    top: 0.25em;
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .form .main_form form input[type=text] {
    line-height: 36px;
  }
}
@media screen and (min-width: 769px), print {
  .form .main_form form ::-webkit-input-placeholder,
  .form .main_form form :-moz-placeholder,
  .form .main_form form ::-moz-placeholder,
  .form .main_form form :-ms-input-placeholder {
    color: #8c8c8c !important;
  }
  .form .main_form form label.select {
    width: 100%;
    display: block;
    position: relative;
    background: #fff;
  }
  .form .main_form form label.select.small_sl {
    width: 207px;
    display: inline-block;
  }
  .form .main_form form label.select.middle_sl {
    width: 435px;
  }
  .form .main_form form label.select::before {
    content: "";
    display: block;
    width: 43px;
    height: 34px;
    background: #03a744 url("../../images/arrow_down.webp") no-repeat center;
    position: absolute;
    right: 0;
    top: 1px;
    -moz-border-radius: 0 8px 8px 0;
    border-radius: 0 8px 8px 0;
    z-index: 0;
  }
  .form .main_form form label.select select {
    border: 1px solid #03a744;
    width: 100%;
    height: 35px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 43px 0 15px;
    font-size: 1.4rem;
    line-height: 33px;
    color: #8c8c8c;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    background: transparent;
  }
  .form .main_form form label.select select::-ms-expand {
    display: none;
  }
  .form .main_form form textarea {
    width: 640px;
    height: 195px;
    border: 1px solid #03a744;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 1.4rem;
    line-height: 33px;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: vertical;
    display: block;
    margin: 10px 0 0;
  }
  .form .main_form form .btn_upload {
    padding: 2px 1px 12px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    line-height: 26px;
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .form .main_form form .btn_upload {
    line-height: 28px;
  }
}
@media screen and (min-width: 769px), print {
  .form .main_form form .btn_upload label {
    margin-right: 10px;
  }
  .form .main_form form .btn_upload label input[type=file] {
    display: none;
  }
  .form .main_form form .btn_upload label span {
    display: block;
    width: 151px;
    height: 26px;
    background: #fff;
    cursor: pointer;
    border: 1px solid #bcbcbc;
    line-height: 24px;
    text-align: center;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .form .main_form form .btn_upload label span {
    line-height: 28px;
  }
}
@media screen and (min-width: 769px), print {
  .form .main_form form .btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .form .main_form form .btn button {
    width: 254px;
    height: 50px;
    border: none;
    display: block;
    padding: 0;
    background: #03a744;
    font-size: 1.6rem;
    line-height: 50px;
    color: #fff;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    cursor: pointer;
    outline: none;
    overflow: hidden;
  }
  .form .main_form form .btn button.lf::after {
    right: auto;
    left: 15px;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .form .main_form form .btn button.lf::before {
    right: auto;
    left: 100%;
    -webkit-transform-origin: 100% 50%;
    -moz-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  .form .main_form form .btn button:hover::before {
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .form .main_form form .btn button::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/apply/btn.webp") no-repeat;
    position: absolute;
    top: 13px;
    right: 0;
  }
  .form .main_form form .btn button::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #6dcc16;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .form .main_form form .btn button {
    line-height: 56px;
  }
}
@media screen and (min-width: 769px), print {
  .form .main_form form .btn button span {
    position: relative;
  }
  .form .error_area {
    margin: 10px 0 0 290px;
  }
  .form .error_area li {
    color: #ff0000;
    font-size: 1.4rem;
  }
  .form .wrap .error_area {
    margin: 10px 0 0 0;
  }
  .form .wrap .error_area li {
    color: #ff0000;
    font-size: 1.4rem;
  }
  .privacy {
    padding: 18px 0 41px;
    text-align: center;
    font-size: 0;
  }
  .privacy a {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 31px;
    color: #000;
    position: relative;
    opacity: 1;
  }
  .privacy a:hover::before {
    width: 0;
  }
  .privacy a::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    bottom: 6px;
    left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .form_confirm .main_form {
    padding: 28px 0 0;
  }
  .form_confirm .main_form form .row_form > label em {
    margin-top: 5px;
  }
  .form_confirm .main_form form .row_form:nth-of-type(8) > label em {
    margin-top: 1px;
  }
  .form_confirm .main_form form .row_form .wrap.pd_left {
    padding-top: 5px;
    padding-left: 20px;
  }
  .form_confirm .main_form form .row_form .wrap.pd_left p {
    line-height: 25px;
    margin-bottom: 14px;
  }
  .form_confirm .main_form form .row_form .wrap.pd_left p:last-child {
    margin-bottom: 0;
  }
  .form_confirm .main_form form .row_form .wrap.pd_left p.error {
    color: #fe8524;
    line-height: 29px;
  }
  .form_confirm .main_form form .row_form .wrap.er_left {
    padding-top: 7px;
    padding-left: 13px;
  }
  .form_confirm .main_form form .row_form .wrap.er_left p {
    line-height: 25px;
    margin-bottom: 7px;
  }
  .form_confirm .main_form form .row_form .wrap.er_left p.error {
    color: #fe8524;
    line-height: 29px;
    padding-left: 7px;
    margin-bottom: 0;
  }
  .form_confirm .main_form form .row_form .btn {
    padding-top: 28px;
  }
  .form_complete {
    padding-bottom: 180px;
  }
  .form_complete .text {
    padding: 74px 0 123px;
    text-align: center;
  }
  .form_complete .text h4 {
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 31px;
    padding-left: 10px;
    margin-bottom: 57px;
  }
  .form_complete .text p {
    font-size: 2rem;
    line-height: 38px;
  }
  .form_complete .text .thanks_ttl {
    font-size: 2.8rem;
    line-height: 31px;
    font-weight: bold;
    color: #fd6600;
  }
  .form_complete .text .thanks_sub {
    font-size: 1.4rem;
  }
  .form_complete .text .thanks_second_text {
    margin-top: 10px;
  }
  .form_complete .text .thanks_gray {
    margin-top: 20px;
    padding: 10px;
    background-color: #efefef;
    display: inline-block;
  }
  .main_apply.flex_box {
    padding: 10px 5px 93px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-direction: column-reverse;
  }
  .main_apply .apply_content {
    width: 100%;
    /*.payment {
      // margin-bottom: 74px;
      h4 {
        margin-bottom: 16px;
      }
      > p {
        margin-bottom: 40px;
      }
      p {
        font-size: rem(16);
        line-height: 31px;
      }
      .box {
        margin-bottom: 42px;
        &:nth-of-type(2) {
          margin-bottom: 32px;
        }
        &:last-of-type {
          margin-bottom: 19px;
        }
        h5 {
          margin-bottom: 7px;
        }
        ul {
          counter-reset: li;
          li {
            counter-increment: li;
            font-size: rem(16);
            line-height: 31px;
            padding-left: 20px;
            position: relative;
            &::before {
              content: counter(li);
              font-size: rem(16);
              line-height: 31px;
              position: absolute;
              top: 0;
              left: 0;
            }
          }
        }
      }
      span {
        font-size: rem(14);
        line-height: 27px;
        display: block;
        position: relative;
        padding-left: 15px;
        &::before {
          content: "※";
          font-size: rem(14);
          line-height: 27px;
          position: absolute;
          top: 0;
          left: 0;
        }
      }
    }*/
  }
  .main_apply .apply_content #apply_text {
    padding: 20px 0;
  }
  .main_apply .apply_content.absence {
    margin-top: 50px;
  }
  .main_apply .apply_content.absence h2 {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: bold;
    color: #03a744;
    border-top: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    padding: 22px 0 20px;
  }
  .main_apply .apply_content.absence p {
    font-size: 1.6rem;
    padding-left: 1em;
    text-indent: -1em;
  }
  .main_apply .apply_content.absence p:first-of-type {
    margin-top: 36px;
  }
  .main_apply .apply_content.absence p:nth-of-type(2) {
    margin-top: 15px;
  }
  .main_apply .apply_content.absence p:not(:first-of-type, :nth-of-type(2)) {
    margin-top: 8px;
  }
  .main_apply .apply_content.absence p span {
    font-size: 1.5em;
    margin-right: 8px;
    vertical-align: -2px;
  }
  .main_apply .apply_content.absence p:nth-of-type(4) span:not(:first-of-type), .main_apply .apply_content.absence p:nth-of-type(5) span:not(:first-of-type) {
    margin-right: 0;
  }
  .main_apply .apply_content h3 {
    font-weight: bold;
    font-size: 2.6rem;
    line-height: 26px;
    color: #03a744;
    border-top: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    padding: 22px 0;
    text-align: center;
    margin-bottom: 11px;
  }
  .main_apply .apply_content h4 {
    width: 100%;
    height: 60px;
    background: #fe8524;
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 60px;
    color: #fff;
    text-align: center;
    margin-bottom: 25px;
  }
  .main_apply .apply_content h5 {
    display: inline-block;
    min-width: 545px;
    height: 42px;
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 42px;
    color: #fff;
    padding: 0 22px;
    background: url("../../images/apply/ttl_hd.webp") repeat-x;
    position: relative;
  }
  .main_apply .apply_content h5::after {
    content: "";
    border-top: 21px solid transparent;
    border-bottom: 21px solid transparent;
    border-right: 13px solid #fff;
    position: absolute;
    top: 0;
    right: 0;
  }
  .main_apply .apply_content a.btn {
    width: 294px;
    height: 50px;
    display: block;
    background: #03a744;
    font-size: 1.6rem;
    line-height: 50px;
    color: #fff;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
    opacity: 1;
    padding: 0 40px 0 0;
    border-width: 0;
  }
  .main_apply .apply_content a.btn:hover::before {
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .main_apply .apply_content a.btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/apply/btn.webp") no-repeat;
    position: absolute;
    top: 13px;
    right: 0;
  }
  .main_apply .apply_content a.btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #6dcc16;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .main_apply .apply_content a.btn {
    line-height: 55px;
  }
}
@media screen and (min-width: 769px), print {
  .main_apply .apply_content .block_form p {
    font-size: 1.6rem;
    line-height: 31px;
  }
  .main_apply .apply_content .block_form p a {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 31px;
    color: #138ddb;
    position: relative;
  }
  .main_apply .apply_content .block_form p a::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #138ddb;
    position: absolute;
    bottom: 6px;
    left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .main_apply .apply_content .block_form a.btn {
    margin-top: 14px;
  }
  .main_apply .apply_content .tag_link {
    font-size: 1.6rem;
    letter-spacing: 1px;
    margin-top: 30px;
    padding: 25px;
    border: 1px solid #ddd;
    line-height: 1.8;
  }
  .main_apply .apply_content .tag_link a {
    counter-increment: answer;
    color: #000;
    display: block;
  }
  .main_apply .apply_content .tag_link a:before {
    content: counter(answer) ".";
  }
  .main_apply .apply_content #payment,
  .main_apply .apply_content #step {
    padding-top: 60px;
  }
  .main_apply .apply_content .joining .cost p {
    font-size: 1.6rem;
    line-height: 31px;
    margin: 7px 0 8px;
  }
  .main_apply .apply_content .joining .cost p a {
    text-decoration: underline;
  }
  .main_apply .apply_content .joining .cost dl {
    width: 550px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.6rem;
    line-height: 31px;
  }
  .main_apply .apply_content .joining .cost dl:last-of-type {
    border-top: 1px solid #e5e5e5;
    padding-top: 8px;
    margin-top: 8px;
    margin-bottom: 20px;
    text-align: right;
  }
  .main_apply .apply_content .joining .cost dl:last-of-type dt {
    width: -webkit-calc(100% - 115px);
    width: -moz-calc(100% - 115px);
    width: calc(100% - 115px);
  }
  .main_apply .apply_content .joining .cost dl:last-of-type dd {
    /*width: 115px;*/
    padding-right: 8px;
  }
  .main_apply .apply_content .joining .cost dl dt {
    width: 130px;
  }
  .main_apply .apply_content .joining .cost dl dd {
    width: -webkit-calc(100% - 130px);
    width: -moz-calc(100% - 130px);
    width: calc(100% - 130px);
  }
  .main_apply .apply_content .joining .cost dl dd ul {
    padding-left: 11px;
  }
  .main_apply .apply_content .joining .cost dl dd ul li {
    font-size: 1.6rem;
    /*line-height: 31px;*/
    padding-left: 33px;
  }
  .main_apply .apply_content .joining .cost dl dd ul li::before {
    font-size: 1.6rem;
    line-height: 31px;
  }
  .main_apply .apply_content .joining .cost dl dd ul li span {
    margin-left: 44px;
  }
  .main_apply .apply_content .joining .cost ul {
    padding-left: 39px;
    counter-reset: li;
    margin-bottom: 8px;
  }
  .main_apply .apply_content .joining .cost ul li {
    font-size: 1.4rem;
    line-height: 27px;
    position: relative;
    counter-increment: li;
    padding-left: 28px;
  }
  .main_apply .apply_content .joining .cost ul li::before {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid #000;
    -moz-border-radius: 50%;
    border-radius: 50%;
    content: counter(li);
    font-size: 1.4rem;
    height: 20px;
    position: absolute;
    top: 3px;
    left: 0;
    width: 20px;
  }
  .main_apply .apply_content .joining .cost > span {
    font-size: 1.4rem;
    line-height: 27px;
    display: block;
    position: relative;
    padding-left: 15px;
  }
  .main_apply .apply_content .joining .cost > span::before {
    content: "※";
    font-size: 1.4rem;
    line-height: 27px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .main_apply .apply_content .joining .cost_atv ul {
    margin-bottom: 7px;
  }
  .main_apply .apply_content .joining .cost_atv ul li {
    padding: 15px 0 15px 24px;
    font-size: 1.6rem;
    line-height: 31px;
    position: relative;
    border-bottom: 1px solid #e5e5e5;
    letter-spacing: 1px;
  }
  .main_apply .apply_content .joining .cost_atv ul li.color_01::before {
    background: #45a4e0;
  }
  .main_apply .apply_content .joining .cost_atv ul li.color_02::before {
    background: #fe8524;
  }
  .main_apply .apply_content .joining .cost_atv ul li.color_03::before {
    background: #f978bb;
  }
  .main_apply .apply_content .joining .cost_atv ul li.color_04::before {
    background: #03a744;
  }
  .main_apply .apply_content .joining .cost_atv ul li::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: absolute;
    top: 23px;
    left: 2px;
  }
  .main_apply .apply_content .joining .cost_atv ul li label {
    float: left;
    width: 40%;
  }
  .main_apply .apply_content .joining .cost_atv ul li span {
    display: block;
    overflow: hidden;
    padding-left: 10px;
  }
  .main_apply .apply_content .joining .cost_atv p {
    font-size: 1.4rem;
    line-height: 27px;
    display: block;
    margin: 7px 0 8px;
    position: relative;
    padding-left: 15px;
  }
  .main_apply .apply_content .joining .cost_atv p::before {
    content: "※";
    font-size: 1.4rem;
    line-height: 27px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .main_apply .apply_content .step {
    counter-reset: dt;
  }
  .main_apply .apply_content .step h4 {
    margin-bottom: 27px;
  }
  .main_apply .apply_content .step .kome {
    padding-left: 2rem;
    position: relative;
  }
  .main_apply .apply_content .step .mb {
    margin-bottom: 20px;
  }
  .main_apply .apply_content .step .maru {
    font-weight: bold;
    position: relative;
    padding-left: 2rem;
  }
  .main_apply .apply_content .step .maru::before {
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
  }
  .main_apply .apply_content .step .kome::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
  }
  .main_apply .apply_content .step .pay_title,
  .main_apply .apply_content .step .bold {
    font-weight: bold;
  }
  .main_apply .apply_content .step .pay_contents {
    padding-left: 2rem;
  }
  .main_apply .apply_content .step .pay_ul > li {
    margin-top: 15px;
  }
  .main_apply .apply_content .step .how_pay_ul {
    padding-left: 2rem;
  }
  .main_apply .apply_content .step dl {
    position: relative;
    border: 2px solid #e5e5e5;
    padding: 29px 30px 24px 23px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    margin-bottom: 51px;
    counter-increment: dt;
  }
  .main_apply .apply_content .step dl:last-of-type {
    margin-bottom: 30px;
  }
  .main_apply .apply_content .step dl:last-of-type::after {
    display: none;
  }
  .main_apply .apply_content .step dl::after {
    content: "";
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 15px solid #6dcc16;
    position: absolute;
    bottom: -35px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .main_apply .apply_content .step dl dt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 2.8rem;
    line-height: 34px;
    color: #03a744;
    border-bottom: 3px solid #e5e5e5;
    padding-bottom: 17px;
    margin-bottom: 15px;
  }
  .main_apply .apply_content .step dl dt .step_start {
    display: inline-block;
    width: 200px;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 5rem;
    line-height: 34px;
    color: #03a744;
    border-right: 2px solid #e5e5e5;
    margin-right: 25px;
  }
  .main_apply .apply_content .step dl dt span {
    width: 102px;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 34px;
    color: #000;
    text-transform: uppercase;
    position: relative;
    border-right: 2px solid #e5e5e5;
  }
  .main_apply .apply_content .step dl dt span::before {
    content: "0" counter(dt);
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 4rem;
    line-height: 34px;
    color: #03a744;
    position: absolute;
    top: -2px;
    left: 48px;
  }
  .main_apply .apply_content .step dl dt p {
    width: -webkit-calc(100% - 131px);
    width: -moz-calc(100% - 131px);
    width: calc(100% - 131px);
  }
  .main_apply .apply_content .step dl dd p {
    font-size: 1.6rem;
    line-height: 31px;
  }
  .main_apply .apply_content .step dl dd p a {
    display: inline-block;
    color: #000;
    position: relative;
    opacity: 1;
  }
  .main_apply .apply_content .step dl dd p a:hover::before {
    width: 0;
  }
  .main_apply .apply_content .step dl dd p a::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    bottom: 6px;
    left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .main_apply .apply_content .step a.btn {
    margin: 20px auto 24px;
  }
  .main_apply .apply_content .step em {
    display: block;
    font-style: normal;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 31px;
  }
  .main_apply .apply_content .step em a {
    color: #000;
    pointer-events: none;
  }
  .main_apply .apply_content .step .note {
    background: #e8fbf0;
    padding: 21px 32px 23px 25px;
    margin-bottom: 42px;
    -moz-border-radius: 7px;
    border-radius: 7px;
  }
  .main_apply .apply_content .step .note h6 {
    font-size: 1.8rem;
    line-height: 3.1rem;
    font-weight: bold;
    color: #03a744;
    text-align: center;
    padding: 0 0 10px;
    border-bottom: 3px solid #c4ead3;
    margin-bottom: 6px;
  }
  .main_apply .apply_content .step .note p {
    font-size: 1.6rem;
    line-height: 3.1rem;
    color: #000;
  }
  .main_apply .apply_content .btn__wrap {
    margin: 50px 0;
  }
  .main_apply .apply_content .btn__wrap a {
    display: block;
    margin: 0 auto;
  }
  .theme {
    padding: 2px 0 0;
  }
  .theme p {
    font-size: 1.6rem;
    line-height: 31px;
    letter-spacing: 1px;
  }
  .theme .btn {
    width: 254px;
    height: 50px;
    display: block;
    background: #03a744;
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 50px;
    color: #fff;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
    opacity: 1;
    padding-right: 40px;
  }
  .theme .btn:hover::before {
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .theme .btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/apply/btn.webp") no-repeat;
    position: absolute;
    top: 13px;
    right: 0;
  }
  .theme .btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #6dcc16;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .theme .btn {
    line-height: 55px;
  }
}
@media screen and (min-width: 769px), print {
  .theme .rtn_btn {
    width: 254px;
    height: 50px;
    display: block;
    background: #757575;
    font-size: 1.6rem;
    line-height: 50px;
    color: #fff;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
    opacity: 1;
    padding-right: 40px;
    margin: 0 auto;
  }
  .theme .rtn_btn:hover::before {
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .theme .rtn_btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/rtn_btn.webp") no-repeat;
    position: absolute;
    top: 13px;
    right: 0;
  }
  .theme .rtn_btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #000;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .theme .rtn_btn {
    line-height: 55px;
  }
}
@media screen and (min-width: 769px), print {
  .theme .btn_link {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 0 37px;
    margin-left: -2px;
  }
  .theme .btn_link a {
    margin-right: 8px;
  }
  .theme .schedule {
    background: #f8f8f8;
    padding: 17px 167px 43px 163px;
  }
  .theme .schedule p {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .theme .schedule p span {
    margin: 0 4px 0 12px;
  }
  .theme .schedule table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #c1e8fa;
  }
  .theme .schedule table thead {
    background: #f5fcff;
  }
  .theme .schedule table thead tr th {
    text-align: center;
    font-size: 1.4rem;
    line-height: 19px;
    font-weight: normal;
    vertical-align: middle;
    border: 1px solid #c1e8fa;
  }
  .theme .schedule table thead tr th:not([colspan]) {
    width: 78px;
  }
  .theme .schedule table tbody {
    background: #fff;
  }
  .theme .schedule table tbody tr:nth-last-of-type(3) td:first-of-type {
    border-bottom: 1px solid #b5e8ff !important;
  }
  .theme .schedule table tbody tr td {
    text-align: center;
    font-size: 1.4rem;
    line-height: 18px;
    padding: 11px 4px;
    border: 1px solid #c1e8fa;
  }
  .theme .schedule table tbody tr td[rowspan] {
    font-weight: bold;
  }
  .theme .schedule table tbody tr td[rowspan]:nth-of-type(1) {
    width: 29px;
    padding: 11px 8px;
    border-bottom: 1px solid #fff;
    text-align: center;
    background: #b5e8ff;
  }
  .theme .schedule table tbody tr td[rowspan]:nth-of-type(2) {
    width: 210px;
    padding: 0 0 0 26px;
    text-align: left;
  }
  .theme .schedule table tbody tr td .radio {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .theme .schedule table tbody tr td .radio input[type=radio] {
    outline: none;
    margin-left: 4px;
  }
  .theme .schedule table tbody tr .itm {
    font-size: 16px;
    font-weight: bold;
    padding: 20px 0;
  }
  .theme .collective {
    margin: 81px 0;
  }
  .theme .collective h3 {
    width: 100%;
    height: 39px;
    background: #03a744;
    font-size: 1.6rem;
    line-height: 39px;
    color: #fff;
    letter-spacing: 0.4px;
    padding: 0 16px;
    margin-bottom: 25px;
  }
  .theme .collective .caution_txt {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
  .theme .collective .trigger {
    border-top: solid 1px #000;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #03a744;
    padding-right: 50px;
    padding: 0 20px;
    color: #fff;
    line-height: 39px;
    font-size: 1.6rem;
    width: 100%;
    height: 100%;
    position: relative;
  }
  .theme .collective .trigger span {
    position: absolute;
    width: 18px;
    height: 18px;
    top: 50%;
    left: 112px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    -moz-border-radius: 50%;
    border-radius: 50%;
  }
  .theme .collective .trigger span::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 2px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #03a744;
    -webkit-transition: 0.3s all ease-in-out;
    -moz-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
  }
  .theme .collective .trigger span::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 2px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotateZ(-90deg);
    -moz-transform: translate(-50%, -50%) rotateZ(-90deg);
    -ms-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotateZ(-90deg);
    background: #03a744;
    -webkit-transition: 0.3s all ease-in-out;
    -moz-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
  }
  .theme .collective .trigger::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 2px;
  }
  .theme .collective .box2,
  .theme .collective .box3 {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
  }
  .theme .collective .acd-check {
    display: none;
  }
  .theme .collective .acd-check:checked + .trigger span::before, .theme .collective .acd-check:checked + .trigger span::after {
    -webkit-transform: translate(-50%, -50%) rotateZ(180deg);
    -moz-transform: translate(-50%, -50%) rotateZ(180deg);
    -ms-transform: translate(-50%, -50%) rotate(180deg);
    transform: translate(-50%, -50%) rotateZ(180deg);
    -webkit-transition: 0.3s all ease-in-out;
    -moz-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
  }
  .theme .collective .acd-check:checked + .trigger + .form_box {
    max-height: 350px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
  }
  .theme .collective .form_box + .form_box {
    border-top: 1px solid #000;
  }
  .theme .collective .form_box .row_form label {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-right: 50px;
  }
  .theme .collective .form_box .row_form label em {
    display: block;
    font-style: normal;
    width: 43px;
    height: 28px;
    background: #fcff00;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 28px;
    margin-top: 1px;
    text-align: center;
  }
  .theme .collective .form_box .row_form label em.mt {
    margin-top: 4px;
  }
  .theme .collective .row_form {
    padding: 20px 0;
    border-top: 1px solid #e5e5e5;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .theme .collective .row_form > label {
    width: 290px;
    font-size: 1.6rem;
    line-height: 35px;
    padding: 0 20px;
  }
  .theme .collective .row_form .wrap {
    width: -webkit-calc(100% - 290px);
    width: -moz-calc(100% - 290px);
    width: calc(100% - 290px);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .theme .collective .row_form input[type=text] {
    width: -webkit-calc(100% - 20px);
    width: -moz-calc(100% - 20px);
    width: calc(100% - 20px);
    height: 35px;
    border: 1px solid #03a744;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 1.4rem;
    line-height: 33px;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .theme .collective .row_form input[type=text]::-ms-clear {
    display: none;
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .theme .collective .row_form input[type=text] {
    line-height: 36px;
  }
}
@media screen and (min-width: 769px), print {
  .theme .collective .row_form ::-webkit-input-placeholder,
  .theme .collective .row_form :-moz-placeholder,
  .theme .collective .row_form ::-moz-placeholder,
  .theme .collective .row_form :-ms-input-placeholder {
    color: #8c8c8c !important;
  }
  .theme .collective .row_form ul.col_rdo {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    padding: 9px 0 0;
  }
  .theme .collective .row_form ul.col_rdo li {
    width: 240px;
  }
  .theme .collective .row_form ul.col_rdo li .radio input[type=radio] {
    display: none;
  }
  .theme .collective .row_form ul.col_rdo li .radio input[type=radio]:checked ~ label::before {
    border-width: 5px;
    width: 8px;
    height: 8px;
  }
  .theme .collective .row_form ul.col_rdo li .radio label {
    padding-left: 28px;
    position: relative;
    font-size: 1.6rem;
    line-height: 20px;
    cursor: pointer;
  }
  .theme .collective .row_form ul.col_rdo li .radio label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 1px solid #03a744;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: absolute;
    top: 1px;
    left: 0;
  }
  .theme .collective .row_form .phone_number ul {
    float: left;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .theme .collective .row_form .phone_number ul li {
    position: relative;
    margin-right: 33px;
  }
  .theme .collective .row_form .phone_number ul li::after {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    background: #6b6b6b;
    position: absolute;
    top: 16px;
    right: -24px;
  }
  .theme .collective .row_form .phone_number ul li:last-of-type {
    margin-right: 0;
  }
  .theme .collective .row_form .phone_number ul li:last-of-type::after {
    display: none;
  }
  .theme .collective .row_form .phone_number ul li input {
    width: 118px;
    text-align: center;
  }
  .theme .collective .row_form .phone_number small.note {
    float: left;
    width: auto;
    margin: 4px 0 0 8px;
  }
  .theme .collective .row_form .mail {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 4px;
  }
  .theme .collective .row_form .mail input {
    width: 610px;
  }
  .theme .collective .row_form .mail small {
    width: -webkit-calc(100% - 625px);
    width: -moz-calc(100% - 625px);
    width: calc(100% - 625px);
    margin-left: 15px;
  }
  .theme .collective small.note {
    width: 100%;
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    color: #03a744;
    position: relative;
    padding-left: 16px;
  }
  .theme .collective small.note::before {
    content: "※";
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    color: #03a744;
    position: absolute;
    top: 0;
    left: 0;
  }
  .theme .collective button.btn {
    border: none;
    outline: none;
    cursor: pointer;
    margin: 43px auto 0;
    padding: 0;
  }
  .rtn_btn {
    width: 254px;
    height: 50px;
    display: block;
    background: #757575;
    font-size: 1.6rem;
    line-height: 50px;
    color: #fff;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
    opacity: 1;
    padding-right: 40px;
    margin: 20px auto;
  }
  .rtn_btn:hover::before {
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .rtn_btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/rtn_btn.webp") no-repeat;
    position: absolute;
    top: 16px;
    right: 15px;
  }
  .rtn_btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #000;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
}
@media screen and (min-width: 769px) and (-ms-high-contrast: active), screen and (min-width: 769px) and (-ms-high-contrast: none), print and (-ms-high-contrast: none) {
  .rtn_btn {
    line-height: 55px;
  }
}
@media screen and (min-width: 769px), print {
  .pay_btn {
    margin: 20px auto 0;
  }
  .pay_btn.fieldvest {
    padding-left: 0.5em !important;
    margin-bottom: 40px;
  }
  .pay_nav ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .pay_nav ul li {
    margin: 0 5px 18px;
  }
  .pay_nav ul a {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 280px;
    height: 78px;
    padding-top: 17px;
    background: url("../../images/pay_nav_bg.webp") no-repeat;
    -moz-background-size: contain;
    background-size: contain;
    font-size: 1.8rem;
    color: #000;
    font-weight: bold;
  }
  .pay_nav ul a:hover {
    opacity: 0.6;
  }
  ul.credit_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 50px;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  ul.credit_list li {
    margin-right: 40px;
  }
  .pay_section {
    font-size: 1.6rem;
    line-height: 31px;
    margin: 50px 0 60px;
  }
  .pay_section ul.sq_ul {
    margin-bottom: 20px;
  }
  .pay_section ul.sq_ul li {
    position: relative;
    padding-left: 25px;
  }
  .pay_section ul.sq_ul li:before {
    content: "◆";
    position: absolute;
    top: 0;
    left: 0;
  }
  .pay_section h5 {
    margin-bottom: 20px;
  }
  .pay_section h5.can_credit {
    padding-right: 50px;
  }
  .pay_section .attention {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 12px 16px;
    padding-left: 32px;
    font-size: 1.4rem;
    border: 2px solid #e5e5e5;
    -moz-border-radius: 5px;
    border-radius: 5px;
    position: relative;
    margin-bottom: 38px;
  }
  .pay_section .attention::before {
    content: "※";
    position: absolute;
    top: 12px;
    left: 16px;
  }
  .pay_section .pay_easy {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #e5e5e5;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 10px 16px;
    margin-bottom: 38px;
  }
  .pay_section .pay_easy li:first-of-type {
    width: 510px;
    font-size: 1.4rem;
    margin-right: 48px;
  }
  .pay_section .pay_easy li:first-of-type p:first-of-type {
    font-weight: bold;
  }
  .pay_section .two_situation {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .pay_section .two_situation ul {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 350px;
  }
  .pay_section .two_situation ul li:first-of-type {
    font-weight: bold;
    font-size: 1.8rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 50px;
  }
  .pay_section .two_situation ul li dl {
    padding: 12px 15px;
    padding-right: 21px;
  }
  .pay_section .two_situation ul li dl dt {
    font-weight: bold;
  }
  .pay_section .two_situation .net_bank {
    position: relative;
  }
  .pay_section .two_situation .net_bank li {
    border-bottom: 1px solid #bfe7fa;
  }
  .pay_section .two_situation .net_bank li dl {
    background-color: #f5fcff;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(1) {
    background: url("../../images/net_bank_bg.webp") no-repeat;
    -moz-background-size: cover;
    background-size: cover;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(2) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(2) dt::before {
    content: url("../../images/net_bank_no1.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(3) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(3) dt::before {
    content: url("../../images/net_bank_no2.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(4) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(4) dt::before {
    content: url("../../images/net_bank_no3.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) {
    border-bottom: none;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) dt::before {
    content: url("../../images/net_bank_no4.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .net_bank::after {
    content: url("../../images/net_bank_end.webp");
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .pay_section .two_situation .atm_bank {
    position: relative;
  }
  .pay_section .two_situation .atm_bank li {
    border-bottom: 1px solid #fad2b2;
  }
  .pay_section .two_situation .atm_bank li dl {
    background-color: #fff8f2;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(1) {
    background: url("../../images/atm_bank_bg.webp") no-repeat;
    -moz-background-size: cover;
    background-size: cover;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(2) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(2) dt::before {
    content: url("../../images/atm_bank_no1.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(3) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(3) dt::before {
    content: url("../../images/atm_bank_no2.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(4) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(4) dt::before {
    content: url("../../images/atm_bank_no3.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) {
    border-bottom: none;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) dt::before {
    content: url("../../images/atm_bank_no4.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) dl {
    padding-bottom: 40px;
  }
  .pay_section .two_situation .atm_bank::after {
    content: url("../../images/atm_bank_end.webp");
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 80%);
    -moz-transform: translate(-50%, 80%);
    -ms-transform: translate(-50%, 80%);
    transform: translate(-50%, 80%);
  }
  .pay_section .hosoku {
    font-size: 1.4rem;
    position: relative;
    padding-left: 16px;
  }
  .pay_section .hosoku::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
  }
  .pay_section .pay_situation {
    margin-bottom: 100px;
  }
  .end_enrollment {
    padding: 40px;
  }
  .end_enrollment p {
    color: #000;
    font-size: 1.4rem;
    font-weight: normal;
    margin-bottom: 20px;
    text-align: left;
  }
  .end_enrollment p.title {
    color: #e21a00;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
  }
}
/* cocconの.sidebarに対するデフォルトスタイルによるレイアウト崩れ対策 */
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  /* Step
  =============================================================================*/
  .step-wrapper {
    padding: 0 10px;
    margin: 0 0 20px 0;
  }
  .step-area {
    padding-top: 20px;
    margin-bottom: 25px;
  }
  .step-area ul li {
    float: none;
    height: auto;
  }
  .step-area ul li p {
    padding: 5px 10px;
  }
  .step-area ul li span.txt {
    font-weight: bold;
    font-size: 14px;
    display: inline;
  }
  .step-area ul li.step01, .step-area ul li.step02, .step-area ul li.step03 {
    width: auto;
    padding-bottom: 12px;
  }
  .step-area ul li.step04 {
    width: auto;
  }
  .step-area ul.step01-now li.step01 {
    background: url("../../images/step-ar004.gif") #03a744 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
    color: #fff;
  }
  .step-area ul.step01-now li.step02, .step-area ul.step01-now li.step03 {
    background: url("../../images/step-ar004.gif") #f4f4f4 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
  }
  .step-area ul.step01-now li.step04 {
    background-color: #f4f4f4;
  }
  .step-area ul.step02-now li.step01, .step-area ul.step02-now li.step03 {
    background: url("../../images/step-ar004.gif") #f4f4f4 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
  }
  .step-area ul.step02-now li.step02 {
    background: url("../../images/step-ar004.gif") #03a744 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
    color: #fff;
  }
  .step-area ul.step02-now li.step04 {
    background-color: #f4f4f4;
  }
  .step-area ul.step03-now li.step01, .step-area ul.step03-now li.step02 {
    background: url("../../images/step-ar004.gif") #f4f4f4 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
  }
  .step-area ul.step03-now li.step03 {
    background: url("../../images/step-ar004.gif") #03a744 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
    color: #fff;
  }
  .step-area ul.step03-now li.step04 {
    background-color: #f4f4f4;
  }
  .step-area ul.step04-now li.step01, .step-area ul.step04-now li.step02, .step-area ul.step04-now li.step03 {
    background: url("../../images/step-ar004.gif") #f4f4f4 no-repeat center bottom;
    -moz-background-size: 1000px auto;
    background-size: 1000px auto;
  }
  .step-area ul.step04-now li.step04 {
    background-color: #03a744;
    color: #fff;
  }
  /*step01*/
  /*step02*/
  /*step03*/
  /*step04*/
  /* END Step
  =============================================================================*/
  .ttl h1::before {
    width: 38px;
    height: 30px;
    background-image: url("../../images/apply/icon_ttl.webp");
    top: 0;
    left: 0;
  }
  .ttl_pay h1::before {
    width: 38px;
    height: 30px;
    background-image: url("../../images/apply/icon_pay_ttl.webp");
    top: 0;
    left: 0;
  }
  .main_apply {
    padding: 6.51042% 10px 13.02083%;
    display: flex;
    flex-direction: column-reverse;
  }
  .form > p {
    font-size: 1.4rem;
    line-height: 22px;
  }
  .form h3 {
    width: 100%;
    height: 35px;
    background: #03a744;
    font-size: 1.4rem;
    line-height: 35px;
    color: #fff;
    letter-spacing: 0.4px;
    padding: 0 4.23729%;
    margin-bottom: 5.64972%;
  }
  .form .caution {
    display: block;
    font-size: 1.4rem;
    line-height: 22px;
    color: #03a744;
    padding-left: 15px;
    margin-bottom: 5.64972%;
    text-indent: -1em;
    margin-left: 1em;
  }
  .form .agreement {
    padding: 5.64972% 0 2.82486%;
  }
  .form .hdl_personal {
    padding: 5.64972% 0 8.47458%;
  }
  .form .scroll {
    border: 2px solid #e5e5e5;
  }
  .form .scroll .mCustomScrollbar {
    height: 200px;
    overflow: hidden;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside {
    position: relative;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside::before {
    content: "";
    display: block;
    width: -webkit-calc(100% - 26px);
    width: -moz-calc(100% - 26px);
    width: calc(100% - 26px);
    height: 15px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside::after {
    content: "";
    display: block;
    width: -webkit-calc(100% - 26px);
    width: -moz-calc(100% - 26px);
    width: calc(100% - 26px);
    height: 15px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside > .mCSB_container {
    padding: 15px 20px;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools {
    width: 28px;
    opacity: 1;
    right: -2px;
    z-index: 1;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer {
    margin: 28px 0;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer .mCSB_dragger {
    width: 24px;
    left: 2px;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer .mCSB_dragger .mCSB_dragger_bar {
    width: 100%;
    -moz-border-radius: 0;
    border-radius: 0;
    background: #fff;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_draggerContainer .mCSB_draggerRail {
    width: 100%;
    -moz-border-radius: 0;
    border-radius: 0;
    background: #e5e5e5;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_buttonUp {
    width: 28px;
    height: 28px;
    background: url("../../images/scroll_up.webp") no-repeat;
    opacity: 1;
  }
  .form .scroll .mCustomScrollbar .mCSB_inside .mCSB_scrollTools .mCSB_buttonDown {
    width: 28px;
    height: 28px;
    background: url("../../images/scroll_down.webp") no-repeat;
    opacity: 1;
  }
  .form .scroll p {
    font-size: 1.3rem;
    line-height: 22px;
    color: #040404;
    margin-bottom: 20px;
    counter-reset: span;
  }
  .form .scroll p span {
    counter-increment: span;
    display: block;
    position: relative;
    padding-left: 17px;
  }
  .form .scroll p span::before {
    content: counter(span) ".";
    display: block;
    font-size: 1.3rem;
    line-height: 22px;
    color: #040404;
    position: absolute;
    left: 0;
    top: 0;
  }
  .form .scroll ul {
    counter-reset: li;
  }
  .form .scroll ul li {
    counter-increment: li;
    font-size: 1.4rem;
    line-height: 27px;
    position: relative;
    text-indent: 25px;
    margin-bottom: 27px;
  }
  .form .scroll ul li::before {
    content: counter(li) ".";
    display: block;
    font-size: 1.4rem;
    line-height: 27px;
    position: absolute;
    left: -25px;
    top: 0;
  }
  .form .checkbox {
    padding: 10px 0 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .form .checkbox.t-left {
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .form .checkbox input[type=checkbox] {
    display: none;
  }
  .form .checkbox input[type=checkbox]:checked ~ label::after {
    content: "";
    display: block;
    width: 8px;
    height: 4px;
    border-left: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    position: absolute;
    top: 8px;
    left: 4px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .form .checkbox label {
    font-size: 1.4rem;
    line-height: 24px;
    display: block;
    padding-left: 30px;
    position: relative;
  }
  .form .checkbox label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border: 1px solid #c0c0c0;
    position: absolute;
    top: 3px;
    left: 0;
  }
  .form .main_form.idx_form {
    padding-top: 5.64972%;
  }
  .form .main_form form .row_form {
    padding: 5.64972% 0;
    border-top: 1px solid #e5e5e5;
  }
  .form .main_form form .row_form > label {
    width: 100%;
    font-size: 1.6rem;
    line-height: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 2.82486%;
  }
  .form .main_form form .row_form > label em {
    display: block;
    font-style: normal;
    width: 43px;
    height: 30px;
    background: #fcff00;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 30px;
    text-align: center;
  }
  .form .main_form form .row_form .wrap {
    font-size: 1.4rem;
    line-height: 35px;
  }
  .form .main_form form .row_form .wrap .pdf {
    margin-top: 12px;
    margin-left: 4px;
  }
  .form .main_form form .row_form .wrap .pdf a {
    color: #000;
    font-size: 1.2rem;
    text-decoration: underline;
  }
  .form .main_form form .row_form .wrap ul.col_2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .form .main_form form .row_form .wrap ul.col_2 li {
    width: 150px;
  }
  .form .main_form form .row_form .wrap ul.col_2 li:last-of-type {
    width: auto;
  }
  .form .main_form form .row_form .wrap .attr .ip_number {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 1.41243% 0;
  }
  .form .main_form form .row_form .wrap .attr .ip_number input {
    width: -webkit-calc(100% - 75px);
    width: -moz-calc(100% - 75px);
    width: calc(100% - 75px);
    display: block;
  }
  .form .main_form form .row_form .wrap ul.birth_date {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .form .main_form form .row_form .wrap ul.birth_date li {
    width: -webkit-calc(33.33% - 10px);
    width: -moz-calc(33.33% - 10px);
    width: calc(33.33% - 10px);
  }
  .form .main_form form .row_form .wrap .postal ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .form .main_form form .row_form .wrap .postal ul li {
    width: 50%;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .form .main_form form .row_form .wrap .postal ul li:first-of-type {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .form .main_form form .row_form .wrap .postal ul li:first-of-type::before {
    display: none;
  }
  .form .main_form form .row_form .wrap .postal ul li::before {
    content: "";
    display: block;
    width: 15px;
    height: 2px;
    background: #6b6b6b;
    position: absolute;
    top: 16px;
    left: 5px;
  }
  .form .main_form form .row_form .wrap .postal ul li input {
    width: -webkit-calc(100% - 25px);
    width: -moz-calc(100% - 25px);
    width: calc(100% - 25px);
    text-align: center;
  }
  .form .main_form form .row_form .wrap dl {
    margin-bottom: 2.82486%;
  }
  .form .main_form form .row_form .wrap dl:last-of-type {
    margin-bottom: 0;
  }
  .form .main_form form .row_form .wrap dl dt {
    line-height: 20px;
    margin-bottom: 1.41243%;
  }
  .form .main_form form .row_form .wrap .phone_number ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .form .main_form form .row_form .wrap .phone_number ul li {
    width: -webkit-calc(33.333% - 15px);
    width: -moz-calc(33.333% - 15px);
    width: calc(33.333% - 15px);
    position: relative;
  }
  .form .main_form form .row_form .wrap .phone_number ul li:last-of-type::after {
    display: none;
  }
  .form .main_form form .row_form .wrap .phone_number ul li::after {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    background: #6b6b6b;
    position: absolute;
    top: 15px;
    right: -18px;
  }
  .form .main_form form .row_form .wrap .phone_number ul li input {
    text-align: center;
  }
  .form .main_form form .row_form .wrap .ip_info {
    margin-bottom: 5.64972%;
  }
  .form .main_form form .row_form .wrap .ip_info .radio label {
    display: block;
  }
  .form .main_form form .row_form .wrap .ip_info ul.col_2 {
    margin: 4.23729% 0 0;
  }
  .form .main_form form .row_form .wrap .autofill {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .form .main_form form .row_form .wrap .autofill input {
    width: -webkit-calc(100% - 160px);
    width: -moz-calc(100% - 160px);
    width: calc(100% - 160px);
    display: block;
    margin-right: 20px;
  }
  .form .main_form form .row_form .wrap .autofill button {
    display: block;
    width: 140px;
    height: 34px;
    background: #000;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 34px;
    color: #fff;
    border: none;
    -moz-border-radius: 7px;
    border-radius: 7px;
    padding: 0 37px 0 0;
    position: relative;
    outline: none;
    cursor: pointer;
  }
  .form .main_form form .row_form .wrap .autofill button::before {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/autofill.webp") no-repeat;
    position: absolute;
    top: 7px;
    right: 15px;
  }
  .form .main_form form .row_form .wrap .autofill small {
    width: 100%;
  }
  .form .main_form form .row_form .wrap p.noted {
    line-height: 22px;
    margin: 10px 0;
  }
  .form .main_form form .row_form .wrap p.noted-g {
    color: #03a744;
    line-height: 22px;
    margin: 10px 0;
  }
  .form .main_form form .row_form .wrap .fee_area {
    display: none;
    margin-top: 30px;
  }
  .form .main_form form .row_form .join-list li:not(:nth-of-type(1)) {
    margin-top: 30px;
  }
  .form .main_form form .row_form .join-list li .flex .fig {
    height: auto;
    width: 100%;
  }
  .form .main_form form .row_form .join-list li .flex .fig img {
    height: auto;
    width: 100%;
  }
  .form .main_form form .row_form .join-list li .flex p {
    line-height: 1.75;
  }
  .form .main_form form small.note {
    width: 100%;
    display: block;
    font-size: 1.4rem;
    line-height: 22px;
    color: #03a744;
    position: relative;
    padding-left: 15px;
  }
  .form .main_form form small.note:first-of-type {
    margin-top: 1.41243%;
  }
  .form .main_form form small.note::before {
    content: "※";
    display: block;
    font-size: 1.4rem;
    line-height: 22px;
    color: #03a744;
    position: absolute;
    top: 0;
    left: 0;
  }
  .form .main_form form input[type=text] {
    width: 100%;
    height: 35px;
    border: 1px solid #03a744;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 1.6rem;
    line-height: 30px;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
  }
  .form .main_form form ::-webkit-input-placeholder,
  .form .main_form form :-moz-placeholder,
  .form .main_form form ::-moz-placeholder,
  .form .main_form form :-ms-input-placeholder {
    color: #8c8c8c !important;
  }
  .form .main_form form label.select {
    width: 100%;
    display: block;
    position: relative;
    background: #fff;
  }
  .form .main_form form label.select::before {
    content: "";
    display: block;
    width: 30px;
    height: 34px;
    background: #03a744 url("../../images/arrow_down.webp") no-repeat center;
    position: absolute;
    right: 0;
    top: 1px;
    -moz-border-radius: 0 8px 8px 0;
    border-radius: 0 8px 8px 0;
    z-index: 0;
  }
  .form .main_form form label.select select {
    border: 1px solid #03a744;
    width: 100%;
    height: 35px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 30px 0 10px;
    font-size: 1.6rem;
    line-height: 33px;
    color: #8c8c8c;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    background: transparent;
  }
  .form .main_form form textarea {
    width: 100%;
    height: 180px;
    border: 1px solid #03a744;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 1.6rem;
    line-height: 22px;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: vertical;
    display: block;
    margin: 2.82486% 0 0;
  }
  .form .main_form form .radio input[type=radio] {
    display: none;
  }
  .form .main_form form .radio input[type=radio]:checked ~ label::before {
    border-width: 5px;
    width: 8px;
    height: 8px;
  }
  .form .main_form form .radio label {
    padding-left: 28px;
    position: relative;
    line-height: 20px;
  }
  .form .main_form form .radio label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 1px solid #03a744;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .form .main_form form .btn_upload {
    padding: 0 0 10px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    line-height: 26px;
  }
  .form .main_form form .btn_upload label {
    margin-right: 10px;
  }
  .form .main_form form .btn_upload label input[type=file] {
    display: none;
  }
  .form .main_form form .btn_upload label span {
    display: block;
    width: 130px;
    height: 26px;
    background: #fff;
    cursor: pointer;
    border: 1px solid #bcbcbc;
    line-height: 24px;
    text-align: center;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }
  .form .main_form form .btn_upload .file_name {
    line-height: 20px;
    margin-top: 3px;
  }
  .form .main_form form .btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .form .main_form form .btn button {
    width: 76.27119%;
    height: 40px;
    border: none;
    display: block;
    padding: 0;
    background: #03a744;
    font-size: 1.5rem;
    line-height: 40px;
    color: #fff;
    outline: none;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .form .main_form form .btn button.lf::after {
    right: auto;
    left: 10px;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .form .main_form form .btn button.lf::before {
    right: auto;
    left: 100%;
    -webkit-transform-origin: 100% 50%;
    -moz-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  .form .main_form form .btn button:hover::before {
    width: 100%;
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .form .main_form form .btn button::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/apply/btn.webp") no-repeat;
    position: absolute;
    top: 9px;
    right: 10px;
  }
  .form .main_form form .btn button::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #6dcc16;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
  .form .error_area {
    margin-left: 16px;
  }
  .form .error_area li {
    color: #ff0000;
    font-size: 1.4rem;
  }
  .privacy {
    padding: 1.41243% 0 4.23729%;
    text-align: center;
    font-size: 0;
  }
  .privacy a {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 30px;
    color: #000;
    position: relative;
    opacity: 1;
  }
  .privacy a:hover::before {
    width: 0;
  }
  .privacy a::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    bottom: 6px;
    left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .form_confirm .main_form {
    padding-top: 5.64972%;
  }
  .form_confirm .main_form form .row_form .wrap {
    line-height: 25px;
  }
  .form_confirm .main_form form .row_form .wrap p {
    margin-bottom: 2.82486%;
  }
  .form_confirm .main_form form .row_form .wrap p:last-child {
    margin-bottom: 0;
  }
  .form_confirm .main_form form .row_form .wrap.er_left p {
    line-height: 25px;
    margin-bottom: 7px;
  }
  .form_confirm .main_form form .row_form .wrap.er_left p.error {
    color: #fe8524;
    margin-bottom: 0;
    padding-left: 10px;
  }
  .form_confirm .main_form form .row_form .btn {
    padding-top: 4.23729%;
  }
  .form_complete {
    padding-bottom: 21.18644%;
  }
  .form_complete .text {
    padding: 14.12429% 0;
    text-align: center;
  }
  .form_complete .text h4 {
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 30px;
    margin-bottom: 8.47458%;
  }
  .form_complete .text p {
    font-size: 1.4rem;
    line-height: 30px;
  }
  .form_complete .text .thanks_ttl {
    font-size: 2.2rem;
    line-height: 30px;
    font-weight: bold;
    color: #fd6600;
  }
  .form_complete .text .thanks_sub {
    font-size: 1rem;
    line-height: 1.5;
  }
  .form_complete .text .thanks_second_text {
    margin-top: 10px;
  }
  .form_complete .text .thanks_gray {
    margin-top: 20px;
    padding: 10px;
    background-color: #efefef;
    display: inline-block;
  }
  .aside {
    padding: 0;
  }
  .aside .sidebar .common .banner {
    margin-bottom: 5.64972%;
  }
  .apply_content {
    margin-bottom: 8.47458%;
  }
  .apply_content.absence {
    margin-top: 50px;
  }
  .apply_content.absence h2 {
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #03a744;
    border-top: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    padding: 5.64972% 0 5.64972%;
    margin-bottom: 4.23729%;
  }
  .apply_content.absence p {
    font-size: 1.4rem;
    padding-left: 1em;
    text-indent: -1em;
  }
  .apply_content.absence p:first-of-type {
    margin-top: 36px;
  }
  .apply_content.absence p:nth-of-type(2) {
    margin-top: 15px;
  }
  .apply_content.absence p:not(:first-of-type, :nth-of-type(2)) {
    margin-top: 8px;
  }
  .apply_content.absence p span {
    font-size: 1.5em;
    margin-right: 8px;
    vertical-align: -2px;
  }
  .apply_content.absence p:nth-of-type(4) span:not(:first-of-type), .apply_content.absence p:nth-of-type(5) span:not(:first-of-type) {
    margin-right: 0;
  }
  .apply_content #apply_text {
    padding: 20px 0;
  }
  .apply_content h3 {
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 25px;
    color: #03a744;
    border-top: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    padding: 2.82486% 0;
    text-align: center;
    margin-bottom: 4.23729%;
  }
  .apply_content a.btn {
    width: 76.27119%;
    height: 40px;
    text-align: center;
    display: block;
    background: #03a744;
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 40px;
    color: #fff;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding-right: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding: 0 30px 0 0;
    border-width: 0;
  }
  .apply_content a.btn:hover::before {
    width: 100%;
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .apply_content a.btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/apply/btn.webp") no-repeat;
    position: absolute;
    top: 9px;
    right: 10px;
  }
  .apply_content a.btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #6dcc16;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
  .apply_content a.pay_btn {
    width: 100%;
  }
  .apply_content a.pay_btn.fieldvest {
    padding-left: 0.5em !important;
    margin-bottom: 40px;
  }
  .apply_content h4 {
    width: 100%;
    height: 50px;
    background: #fe8524;
    font-weight: bold;
    font-size: 1.7rem;
    line-height: 50px;
    color: #fff;
    text-align: center;
    margin-bottom: 4.23729%;
  }
  .apply_content h5 {
    display: inline-block;
    min-width: 240px;
    height: 40px;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 40px;
    color: #fff;
    padding: 0 35px 0 15px;
    background: url("../../images/apply/ttl_hd.webp") repeat-x;
    position: relative;
  }
  .apply_content h5::after {
    content: "";
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-right: 13px solid #fff;
    position: absolute;
    top: 0;
    right: 0;
  }
  .apply_content .block_form p {
    font-size: 1.4rem;
    line-height: 22px;
  }
  .apply_content .block_form p a {
    color: #138ddb;
    text-decoration: underline;
  }
  .apply_content .block_form a.btn {
    margin: 2.82486% 0 0;
  }
  .apply_content .tag_link {
    font-size: 1.4rem;
    letter-spacing: 1px;
    margin-top: 30px;
    padding: 25px;
    border: 1px solid #ddd;
    line-height: 1.8;
  }
  .apply_content .tag_link a {
    counter-increment: answer;
    color: #000;
    display: block;
  }
  .apply_content .tag_link a:before {
    content: counter(answer) ".";
  }
  .apply_content #payment,
  .apply_content #step {
    padding-top: 60px;
  }
  .apply_content .joining .cost {
    margin-bottom: 8.47458%;
  }
  .apply_content .joining .cost p {
    font-size: 1.4rem;
    line-height: 22px;
    margin: 1.41243% 0 2.82486%;
  }
  .apply_content .joining .cost p a {
    text-decoration: underline;
  }
  .apply_content .joining .cost dl {
    font-size: 1.5rem;
    line-height: 25px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .apply_content .joining .cost dl:last-of-type {
    border-top: 1px solid #e5e5e5;
    padding-top: 1.41243%;
    margin-top: 1.41243%;
    margin-bottom: 4.23729%;
    text-align: right;
  }
  .apply_content .joining .cost dl:last-of-type dt {
    width: -webkit-calc(100% - 115px);
    width: -moz-calc(100% - 115px);
    width: calc(100% - 260px);
  }
  .apply_content .joining .cost dl:last-of-type dd {
    /*width: 115px;*/
  }
  .apply_content .joining .cost dl dt {
    width: 80px;
  }
  .apply_content .joining .cost dl dd {
    width: -webkit-calc(100% - 80px);
    width: -moz-calc(100% - 80px);
    width: calc(100% - 80px);
  }
  .apply_content .joining .cost dl dd ul {
    padding-left: 15px;
  }
  .apply_content .joining .cost dl dd ul li {
    font-size: 1.5rem;
  }
  .apply_content .joining .cost dl dd ul li::before {
    font-size: 1.5rem;
  }
  .apply_content .joining .cost dl dd ul li span {
    margin-left: 10px;
  }
  .apply_content .joining .cost dl dd ul li small {
    content: "\a";
    font-size: 1.2rem;
  }
  .apply_content .joining .cost ul {
    padding-left: 30px;
    counter-reset: li;
  }
  .apply_content .joining .cost ul li {
    font-size: 1.4rem;
    line-height: 25px;
    position: relative;
    counter-increment: li;
    padding-left: 25px;
  }
  .apply_content .joining .cost ul li::before {
    border: 1px solid #000;
    -moz-border-radius: 50%;
    border-radius: 50%;
    content: counter(li);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.4rem;
    height: 18px;
    position: absolute;
    top: 3px;
    left: 0;
    width: 18px;
  }
  .apply_content .joining .cost > span {
    display: block;
    font-size: 1.4rem;
    line-height: 25px;
    position: relative;
    padding-left: 15px;
  }
  .apply_content .joining .cost > span::before {
    content: "※";
    font-size: 1.4rem;
    line-height: 25px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .apply_content .joining .cost_atv ul {
    margin-bottom: 2.82486%;
  }
  .apply_content .joining .cost_atv ul li {
    padding: 15px 0 15px 24px;
    font-size: 1.5rem;
    line-height: 25px;
    position: relative;
    border-bottom: 1px solid #e5e5e5;
    letter-spacing: 1px;
  }
  .apply_content .joining .cost_atv ul li.color_01::before {
    background: #45a4e0;
  }
  .apply_content .joining .cost_atv ul li.color_02::before {
    background: #fe8524;
  }
  .apply_content .joining .cost_atv ul li.color_03::before {
    background: #f978bb;
  }
  .apply_content .joining .cost_atv ul li.color_04::before {
    background: #03a744;
  }
  .apply_content .joining .cost_atv ul li::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: absolute;
    top: 21px;
    left: 2px;
  }
  .apply_content .joining .cost_atv p {
    font-size: 1.4rem;
    line-height: 25px;
    display: block;
    margin: 1.41243% 0 2.82486%;
    position: relative;
    padding-left: 15px;
  }
  .apply_content .joining .cost_atv p::before {
    content: "※";
    font-size: 1.4rem;
    line-height: 25px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .apply_content .payment p {
    font-size: 1.4rem;
    line-height: 25px;
  }
  .apply_content .payment > p {
    margin-bottom: 5.64972%;
  }
  .apply_content .payment .box {
    margin-bottom: 5.64972%;
  }
  .apply_content .payment .box:last-of-type {
    margin-bottom: 4.23729%;
  }
  .apply_content .payment .box h5 {
    margin-bottom: 1.41243%;
  }
  .apply_content .payment .box ul {
    counter-reset: li;
  }
  .apply_content .payment .box ul li {
    counter-increment: li;
    font-size: 1.4rem;
    line-height: 25px;
    padding-left: 15px;
    position: relative;
  }
  .apply_content .payment .box ul li::before {
    content: counter(li);
    font-size: 1.4rem;
    line-height: 25px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .apply_content .payment span {
    font-size: 1.4rem;
    line-height: 25px;
    display: block;
    position: relative;
    padding-left: 15px;
  }
  .apply_content .payment span::before {
    content: "※";
    font-size: 1.4rem;
    line-height: 25px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .apply_content .step {
    counter-reset: dt;
  }
  .apply_content .step .kome {
    padding-left: 1.6rem;
    position: relative;
  }
  .apply_content .step .kome::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
  }
  .apply_content .step .mb {
    margin-bottom: 20px;
  }
  .apply_content .step .maru {
    font-weight: bold;
    position: relative;
    padding-left: 1.6rem;
  }
  .apply_content .step .maru::before {
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
  }
  .apply_content .step .pay_title,
  .apply_content .step .bold {
    font-weight: bold;
  }
  .apply_content .step .pay_contents {
    padding-left: 1.6rem;
  }
  .apply_content .step .pay_ul > li {
    margin-top: 15px;
  }
  .apply_content .step .how_pay_ul {
    padding-left: 1.6rem;
  }
  .apply_content .step a.btn {
    margin-bottom: 5.64972%;
  }
  .apply_content .step em {
    display: block;
    font-style: normal;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 25px;
  }
  .apply_content .step em a {
    color: #000;
  }
  .apply_content .step dl {
    position: relative;
    border: 2px solid #e5e5e5;
    padding: 20px 15px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    margin-bottom: 8.47458%;
    counter-increment: dt;
  }
  .apply_content .step dl:last-of-type {
    margin-bottom: 5.64972%;
  }
  .apply_content .step dl:last-of-type::after {
    display: none;
  }
  .apply_content .step dl::after {
    content: "";
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 14px solid #6dcc16;
    position: absolute;
    bottom: -14px;
    left: 50%;
    margin-bottom: -3.10734%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .apply_content .step dl dt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 2rem;
    line-height: 30px;
    color: #03a744;
    border-bottom: 2px solid #e5e5e5;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .apply_content .step dl dt .step_start {
    width: 110px;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 3rem;
    line-height: 30px;
    color: #03a744;
    border-right: 2px solid #e5e5e5;
  }
  .apply_content .step dl dt span {
    width: 100px;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 30px;
    color: #000;
    text-transform: uppercase;
    position: relative;
    border-right: 2px solid #e5e5e5;
  }
  .apply_content .step dl dt span::before {
    content: "0" counter(dt);
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 3rem;
    line-height: 30px;
    color: #03a744;
    position: absolute;
    top: -2px;
    left: 48px;
  }
  .apply_content .step dl dt p {
    width: -webkit-calc(100% - 125px);
    width: -moz-calc(100% - 125px);
    width: calc(100% - 125px);
  }
  .apply_content .step dl dd p {
    font-size: 1.4rem;
    line-height: 25px;
  }
  .apply_content .step dl dd p a {
    color: #000;
    text-decoration: underline;
  }
  .apply_content .step .note {
    background: #e8fbf0;
    padding: 2.82486% 2.82486% 4.23729%;
    margin-bottom: 4.23729%;
    -moz-border-radius: 7px;
    border-radius: 7px;
  }
  .apply_content .step .note h6 {
    font-size: 1.5rem;
    line-height: 2.5rem;
    font-weight: bold;
    color: #03a744;
    text-align: center;
    padding: 0 0 1.41243%;
    border-bottom: 3px solid #c4ead3;
    margin-bottom: 1.41243%;
  }
  .apply_content .step .note p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    color: #000;
  }
  .apply_content .btn__wrap {
    margin: 8.33333% 0;
  }
  .apply_content .btn__wrap a {
    display: block;
    margin: 0 auto;
  }
  .theme {
    padding: 6.51042% 3.90625% 13.02083%;
  }
  .theme p {
    font-size: 1.4rem;
    line-height: 22px;
  }
  .theme .btn {
    width: 76.27119%;
    height: 40px;
    border: none;
    display: block;
    padding: 0;
    background: #03a744;
    font-size: 1.5rem;
    line-height: 40px;
    color: #fff;
    outline: none;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    padding-right: 30px;
  }
  .theme .btn:hover::before {
    width: 100%;
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .theme .btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/apply/btn.webp") no-repeat;
    position: absolute;
    top: 9px;
    right: 10px;
  }
  .theme .btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #6dcc16;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
  .theme .btn_link {
    padding: 4.23729% 0 4.23729%;
  }
  .theme .btn_link a {
    margin: 0 auto 2.82486%;
  }
  .theme .schedule {
    background: #f8f8f8;
    padding: 4.23729% 2.82486%;
  }
  .theme .schedule p {
    font-size: 1.3rem;
    margin-bottom: 10px;
  }
  .theme .schedule p span {
    margin: 0 4px 0 10px;
  }
  .theme .schedule table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #c1e8fa;
  }
  .theme .schedule table thead {
    background: #f5fcff;
  }
  .theme .schedule table thead tr th {
    text-align: center;
    font-size: 1.2rem;
    line-height: 16px;
    font-weight: normal;
    vertical-align: middle;
    border: 1px solid #c1e8fa;
  }
  .theme .schedule table thead tr th:not([colspan]) {
    width: 40px;
  }
  .theme .schedule table tbody {
    background: #fff;
  }
  .theme .schedule table tbody tr:nth-last-of-type(3) td:first-of-type {
    border-bottom: 1px solid #b5e8ff !important;
  }
  .theme .schedule table tbody tr td {
    text-align: center;
    font-size: 1.1rem;
    line-height: 16px;
    padding: 7px 0;
    border: 1px solid #c1e8fa;
  }
  .theme .schedule table tbody tr td[rowspan] {
    font-weight: bold;
  }
  .theme .schedule table tbody tr td[rowspan]:nth-of-type(1) {
    width: 29px;
    padding: 10px 2px;
    border-bottom: 1px solid #fff;
    text-align: center;
    background: #b5e8ff;
  }
  .theme .schedule table tbody tr td[rowspan]:nth-of-type(2) {
    width: 55px;
  }
  .theme .schedule table tbody tr td .radio {
    min-width: 34px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .theme .schedule table tbody tr td .radio input[type=radio] {
    outline: none;
    margin-left: 2px;
  }
  .theme .collective {
    margin: 7.06215% 0 0;
  }
  .theme .collective h3 {
    width: 100%;
    background: #03a744;
    font-size: 1.4rem;
    line-height: 20px;
    color: #fff;
    letter-spacing: 0.4px;
    padding: 10px 4.23729%;
    margin-bottom: 5.64972%;
  }
  .theme .collective .caution_txt {
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  .theme .collective .trigger {
    border-top: solid 1px #000;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #03a744;
    padding-right: 50px;
    padding: 0 20px;
    color: #fff;
    line-height: 36px;
    font-size: 1.4rem;
    width: 100%;
    height: 100%;
    position: relative;
  }
  .theme .collective .trigger span {
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 100px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    -moz-border-radius: 50%;
    border-radius: 50%;
  }
  .theme .collective .trigger span::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 2px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #03a744;
    -webkit-transition: 0.3s all ease-in-out;
    -moz-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
  }
  .theme .collective .trigger span::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 2px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotateZ(-90deg);
    -moz-transform: translate(-50%, -50%) rotateZ(-90deg);
    -ms-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotateZ(-90deg);
    background: #03a744;
    -webkit-transition: 0.3s all ease-in-out;
    -moz-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
  }
  .theme .collective .trigger::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 2px;
  }
  .theme .collective .box2,
  .theme .collective .box3 {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
  }
  .theme .collective .acd-check {
    display: none;
  }
  .theme .collective .acd-check:checked + .trigger span::before, .theme .collective .acd-check:checked + .trigger span::after {
    -webkit-transform: translate(-50%, -50%) rotateZ(180deg);
    -moz-transform: translate(-50%, -50%) rotateZ(180deg);
    -ms-transform: translate(-50%, -50%) rotate(180deg);
    transform: translate(-50%, -50%) rotateZ(180deg);
    -webkit-transition: 0.3s all ease-in-out;
    -moz-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
  }
  .theme .collective .acd-check:checked + .trigger + .form_box {
    max-height: 480px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
  }
  .theme .collective .form_box + .form_box {
    border-top: 1px solid #000;
  }
  .theme .collective .form_box .row_form label {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 8px;
  }
  .theme .collective .form_box .row_form label em {
    display: block;
    font-style: normal;
    width: 43px;
    height: 30px;
    background: #fcff00;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-size: 1.2rem;
    line-height: 30px;
    text-align: center;
    margin-left: 16px;
  }
  .theme .collective .row_form {
    padding: 2.82486% 0;
    border-top: 1px solid #e5e5e5;
  }
  .theme .collective .row_form > label {
    display: block;
    font-size: 1.5rem;
    line-height: 25px;
    margin-bottom: 5px;
  }
  .theme .collective .row_form .wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .theme .collective .row_form .wrap .phone_number ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .theme .collective .row_form .wrap .phone_number ul li {
    width: -webkit-calc(33.333% - 15px);
    width: -moz-calc(33.333% - 15px);
    width: calc(33.333% - 15px);
    position: relative;
  }
  .theme .collective .row_form .wrap .phone_number ul li:last-of-type::after {
    display: none;
  }
  .theme .collective .row_form .wrap .phone_number ul li::after {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    background: #6b6b6b;
    position: absolute;
    top: 15px;
    right: -18px;
  }
  .theme .collective .row_form .wrap .phone_number ul li input {
    text-align: center;
  }
  .theme .collective .row_form .wrap ul.col_rdo {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .theme .collective .row_form .wrap ul.col_rdo li:first-child {
    width: 170px;
  }
  .theme .collective .row_form input[type=text] {
    width: 100%;
    height: 35px;
    border: 1px solid #03a744;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 0 15px;
    font-size: 1.4rem;
    line-height: 30px;
    color: #000;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
  }
  .theme .collective .row_form ::-webkit-input-placeholder,
  .theme .collective .row_form :-moz-placeholder,
  .theme .collective .row_form ::-moz-placeholder,
  .theme .collective .row_form :-ms-input-placeholder {
    color: #8c8c8c !important;
  }
  .theme .collective .row_form small.note {
    width: 100%;
    display: block;
    font-size: 1.4rem;
    line-height: 22px;
    color: #03a744;
    position: relative;
    padding-left: 15px;
  }
  .theme .collective .row_form small.note:first-of-type {
    margin-top: 1.41243%;
  }
  .theme .collective .row_form small.note::before {
    content: "※";
    display: block;
    font-size: 1.4rem;
    line-height: 22px;
    color: #03a744;
    position: absolute;
    top: 0;
    left: 0;
  }
  .theme .collective .row_form .radio input[type=radio] {
    display: none;
  }
  .theme .collective .row_form .radio input[type=radio]:checked ~ label::before {
    border-width: 5px;
    width: 8px;
    height: 8px;
  }
  .theme .collective .row_form .radio label {
    padding-left: 28px;
    position: relative;
    line-height: 20px;
  }
  .theme .collective .row_form .radio label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 1px solid #03a744;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .theme .collective .row_form button.btn {
    border: none;
    outline: none;
    margin: 5.64972% auto 0;
    padding: 0;
  }
  .rtn_btn {
    width: 76.27119%;
    height: 40px;
    border: none;
    display: block;
    padding: 0;
    background: #757575;
    font-size: 1.5rem;
    line-height: 40px;
    color: #fff;
    outline: none;
    -moz-border-radius: 7px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    padding-right: 30px;
    margin: 20px auto;
  }
  .rtn_btn:hover::before {
    -webkit-transform: scale3d(12, 9, 1);
    -moz-transform: scale3d(12, 9, 1);
    transform: scale3d(12, 9, 1);
  }
  .rtn_btn::after {
    content: "";
    display: block;
    width: 22px;
    height: 21px;
    background: url("../../images/rtn_btn.webp") no-repeat;
    position: absolute;
    top: 9px;
    right: 10px;
  }
  .rtn_btn::before {
    content: "";
    width: 30px;
    height: 30px;
    background: #000;
    position: absolute;
    top: 50%;
    right: 100%;
    z-index: -1;
    margin: -15px 0 0 1px;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale3d(1, 2, 1);
    -moz-transform: scale3d(1, 2, 1);
    transform: scale3d(1, 2, 1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
    transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  }
}
@media screen and (max-width: 768px) and (-ms-high-contrast: active), screen and (max-width: 768px) and (-ms-high-contrast: none) {
  .rtn_btn {
    line-height: 55px;
  }
}
@media screen and (max-width: 768px) {
  .pay_nav ul li {
    margin: 0 5px 18px;
  }
  .pay_nav ul a {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 280px;
    height: 78px;
    margin: 0 auto;
    padding-top: 17px;
    background: url("../../images/pay_nav_bg.webp") no-repeat;
    -moz-background-size: contain;
    background-size: contain;
    font-size: 1.8rem;
    color: #000;
    font-weight: bold;
  }
  .pay_nav ul a:hover {
    opacity: 0.6;
  }
  ul.credit_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px auto 30px;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .pay_section {
    margin-bottom: 40px;
  }
  .pay_section ul.sq_ul {
    margin-bottom: 20px;
    font-size: 13px;
  }
  .pay_section ul.sq_ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 15px;
  }
  .pay_section ul.sq_ul li:before {
    content: "◆";
    position: absolute;
    top: 0;
    left: 0;
  }
  .pay_section h5 {
    margin-bottom: 20px;
  }
  .pay_section p {
    font-size: 13px;
  }
  .pay_section .attention {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 12px 16px;
    padding-left: 32px;
    font-size: 1.4rem;
    border: 2px solid #e5e5e5;
    -moz-border-radius: 5px;
    border-radius: 5px;
    position: relative;
    margin-bottom: 38px;
  }
  .pay_section .attention::before {
    content: "※";
    position: absolute;
    top: 12px;
    left: 16px;
  }
  .pay_section .pay_easy {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #e5e5e5;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 10px 16px;
    margin-bottom: 30px;
  }
  .pay_section .pay_easy li:first-of-type {
    font-size: 1.4rem;
  }
  .pay_section .pay_easy li:first-of-type p:first-of-type {
    font-weight: bold;
    margin-bottom: 10px;
  }
  .pay_section .pay_easy img {
    display: block;
    width: 100px;
    margin: 0 auto;
  }
  .pay_section .two_situation ul {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .pay_section .two_situation ul li:first-of-type {
    font-weight: bold;
    font-size: 1.8rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 50px;
  }
  .pay_section .two_situation ul li dl {
    padding: 12px 15px;
  }
  .pay_section .two_situation ul li dl dt {
    font-weight: bold;
    margin-bottom: 10px;
  }
  .pay_section .two_situation .net_bank {
    position: relative;
    margin-bottom: 100px;
  }
  .pay_section .two_situation .net_bank li {
    border-bottom: 1px solid #bfe7fa;
  }
  .pay_section .two_situation .net_bank li dl {
    background-color: #f5fcff;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(1) {
    background: url("../../images/net_bank_bg.webp") no-repeat;
    -moz-background-size: cover;
    background-size: cover;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(2) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(2) dt::before {
    content: url("../../images/net_bank_no1.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(3) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(3) dt::before {
    content: url("../../images/net_bank_no2.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(4) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(4) dt::before {
    content: url("../../images/net_bank_no3.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) {
    border-bottom: none;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) dt::before {
    content: url("../../images/net_bank_no4.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .net_bank li:nth-of-type(5) dl {
    padding-bottom: 40px;
  }
  .pay_section .two_situation .net_bank::after {
    content: url("../../images/net_bank_end.webp");
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 80%);
    -moz-transform: translate(-50%, 80%);
    -ms-transform: translate(-50%, 80%);
    transform: translate(-50%, 80%);
  }
  .pay_section .two_situation .atm_bank {
    position: relative;
  }
  .pay_section .two_situation .atm_bank li {
    border-bottom: 1px solid #fad2b2;
  }
  .pay_section .two_situation .atm_bank li dl {
    background-color: #fff8f2;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(1) {
    background: url("../../images/atm_bank_bg.webp") no-repeat;
    -moz-background-size: cover;
    background-size: cover;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(2) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(2) dt::before {
    content: url("../../images/atm_bank_no1.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(3) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(3) dt::before {
    content: url("../../images/atm_bank_no2.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(4) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(4) dt::before {
    content: url("../../images/atm_bank_no3.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) {
    border-bottom: none;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) dt {
    position: relative;
    padding-left: 23px;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) dt::before {
    content: url("../../images/atm_bank_no4.webp");
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-45%);
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    transform: translateY(-45%);
    left: 0;
  }
  .pay_section .two_situation .atm_bank li:nth-of-type(5) dl {
    padding-bottom: 40px;
  }
  .pay_section .two_situation .atm_bank::after {
    content: url("../../images/atm_bank_end.webp");
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 80%);
    -moz-transform: translate(-50%, 80%);
    -ms-transform: translate(-50%, 80%);
    transform: translate(-50%, 80%);
  }
  .pay_section .hosoku {
    font-size: 1.4rem;
    position: relative;
    padding-left: 16px;
  }
  .pay_section .hosoku::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
  }
  .pay_section .pay_situation {
    margin-bottom: 100px;
  }
  .end_enrollment {
    padding: 8vw 4vw;
  }
  .end_enrollment p {
    color: #000;
    font-size: 2.5vw;
    font-weight: normal;
    margin-bottom: 20px;
    text-align: left;
    white-space: normal;
  }
  .end_enrollment p.title {
    color: #e21a00;
    font-size: 4vw;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
  }
  /* フィールドベスト詳細 */
  .field-vest-section {
    margin-top: 50px !important;
    padding: 0 10px 120px;
  }
  .field-vest-section .heading {
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #03a744;
    border-top: 2px solid #03a744;
    border-bottom: 2px solid #03a744;
    padding: 5.64972% 0 5.64972%;
    margin-bottom: 4.23729%;
  }
  .field-vest-section .heading br {
    display: none;
  }
  .field-vest-section .explanation {
    margin-top: 50px;
  }
  .field-vest-section .explanation::after {
    content: "";
    display: block;
    clear: both;
  }
  .field-vest-section .explanation div {
    float: right;
    height: 55px;
  }
  .field-vest-section .explanation p {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .field-vest-section .explanation p:nth-of-type(2), .field-vest-section .explanation p:last-of-type {
    margin-top: 1em;
  }
  .field-vest-section .explanation figure {
    width: min(50%, 350px);
    float: right;
    clear: both;
  }
  .field-vest-section .explanation figure figcaption {
    font-size: 1.2rem;
    padding-left: 1em;
  }
  .field-vest-section .size-wrap {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
  }
  .field-vest-section .size-wrap figure {
    width: 100%;
  }
  .field-vest-section .size-wrap figure figcaption {
    font-size: 1.2rem;
    padding-left: 2em;
  }
  .field-vest-section .size-wrap .size {
    margin: 50px auto 0;
    width: min(100%, 800px);
    border: 3px solid #44B034;
    border-radius: 15px;
    position: relative;
    padding: 35px 50px;
  }
  .field-vest-section .size-wrap .size span {
    background-color: #44B034;
    color: #fff;
    border-radius: 5px;
    position: absolute;
    top: -12px;
    left: 15px;
    font-size: 16px;
    font-weight: bold;
    padding: 0 0.5em;
  }
  .field-vest-section .size-wrap .size .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .field-vest-section .size-wrap .size .inner figure {
    width: min(50%, 230px);
  }
  .field-vest-section .size-wrap .size .inner table {
    width: 100%;
    border-collapse: separate;
    margin-top: 15px;
  }
  .field-vest-section .size-wrap .size .inner table tr:nth-of-type(2n+1) {
    background-color: initial;
  }
  .field-vest-section .size-wrap .size .inner table tr td {
    border: 1px solid #717071;
    font-size: 1.4rem;
    text-align: center;
    padding: 0.3em 0 0;
  }
  .field-vest-section .size-wrap .size .inner table tr:first-of-type td {
    height: 25px;
  }
  .field-vest-section .size-wrap .size .inner table tr:first-of-type td:first-child {
    border-radius: 10px 0 0 0;
  }
  .field-vest-section .size-wrap .size .inner table tr:first-of-type td:last-child {
    border-radius: 0 10px 0 0;
  }
  .field-vest-section .size-wrap .size .inner table tr:not(:first-of-type) td {
    height: 33px;
  }
  .field-vest-section .size-wrap .size .inner table tr:last-of-type td:first-child {
    border-radius: 0 0 0 10px;
  }
  .field-vest-section .size-wrap .size .inner table tr:last-of-type td:last-child {
    border-radius: 0 0 10px 0;
  }
  .field-vest-section .look {
    margin-top: 50px;
  }
  .field-vest-section .look h3 {
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    padding-left: 1.2em;
  }
  .field-vest-section .look h3.s-size::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #EC6C00;
    left: 0;
    top: 4px;
  }
  .field-vest-section .look h3.m-size::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #44B034;
    left: 0;
    top: 4px;
  }
  .field-vest-section .look h3.l-size::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #0069B7;
    left: 0;
    top: 4px;
  }
  .field-vest-section .look h3.l-size + .inner {
    justify-content: flex-start;
    column-gap: 25px;
  }
  .field-vest-section .look .inner {
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
  }
  .field-vest-section .look .inner figure {
    width: 100%;
  }
  .field-vest-section .look .inner figure img {
    object-fit: cover;
    height: 100%;
  }
  .field-vest-section .look small {
    display: block;
    width: max-content;
    margin: 15px 0 0 auto;
    font-size: 2rem;
    font-weight: bold;
    color: #E50011;
    position: relative;
  }
  .field-vest-section .look small::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 100vh;
    background-color: #E50011;
    left: -1.2em;
    top: 0.25em;
  }
}
@media screen and (max-width: 520px) {
  /* フィールドベスト詳細 */
  .field-vest-section .sub-heading br, .field-vest-section .heading br {
    display: block;
  }
}