@charset "utf-8";

input, button, select, textarea {
    -webkit-appearance: none;
}

.req-label-mobile{
    display: none;
}

.any-label-mobile{
    display: none;
}

.common-primary-txt a {
    color: #FF6D00 !important;
    font-weight: bold !important;
    transition: all 0.2s;
}
.common-primary-txt a:hover {
    opacity: 0.7;
}

.content-body a {
    color: #FF6D00 !important;
    font-weight: bold !important;
    transition: all 0.2s;
}
.content-body a:hover {
    opacity: 0.7;
}


.common-primary-h2-wrap {
    border-top: 1px solid #cacaca;
    padding-top: 10px;
    border-bottom: 1px solid #cacaca;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.common-primary-h2 {
    border-left: 5px solid #ff7301;
    padding-left: 15px !important;
    padding-top: 5px;
    padding-bottom: 5px;
}

.common-primary-h2 strong {
    font-size: 28px;
    font-weight: bold;
    margin-right: 20px;
}

.common-primary-h3 {
    font-size: 26px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
    line-height: 1;
    width: 100%;
    display: flex;
    align-items: center;
}

.common-primary-h3::after {
    content: "";
    flex-grow: 1;
    border-bottom: 1px solid #cacaca;
}


.sub-common-header {
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 15px;
    border-left: 5px solid #ff6d00;
    padding-left: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    position: relative;
}

.third-common-header {
    position: relative;
    display: block;
    font-weight: bold;
    padding: 0px 0px 0px 0px;
    font-size: 20px;
    border-radius: 3px;
    line-height: 1;
}

.third-common-header span {}

.primary-step1 span {
    background: #0062D8;
    color: #fff !important;
    font-size: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 10px;
    border-radius: 3px;
}

.primary-step1 {
    color: #0062D8;
}

.primary-step1 strong {
    margin-right: 10px;
}


.primary-step2 span {
    background: #28b600;
    color: #fff !important;
    font-size: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 10px;
    border-radius: 3px;
}

.primary-step2 {
    color: #28b600;
}

.primary-step2 strong {
    margin-right: 10px;
}


.primary-step3 span {
    background: #D60000;
    color: #fff !important;
    font-size: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 10px;
    border-radius: 3px;
}

.primary-step3 {
    color: #D60000;
}

.primary-step3 strong {
    margin-right: 10px;
}


.sns-links {
    list-style-type: none;
    float: right;
}


.common-primary-txt {
    font-size: 16px;
    line-height: 1.5;
}

.common-primary-bottom-container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.common-section {
    border: 1px solid #cacaca;
    padding: 20px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb30 {
    margin-bottom: 30px;
}

.ml20 {
    margin-left: 20px;
}

.mr20 {
    margin-right: 20px;
}

.inquiry-form-headline {
    font-size: 28px;
    font-weight: bold;
    border-left: 5px solid #ff7301;
    padding-left: 15px !important;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-top: 0px;
    margin-bottom: 15px;
    display: inherit;
    background: none !important;
    line-height: 1.2;
}

.step-common-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 10px;
}

.step-common-thumb {
    width: 160px;
    height: 160px;
    border-radius: 5px;
}

.step-common-content {
    margin-left: 15px;
    position: relative;
}

.fixed-bg {
    padding: 20px;
    background: url(https://entre-salon.com/wordpress/wp-content/themes/wp.vicuna/images/page/stepup_bg_v4.jpg?v=2);
    background-repeat: no-repeat;
    border-radius: 10px;
    display: block;
}

.step-common-btn {
    position: absolute;
    right: 0px;
    bottom: 0px;
    text-align: center;
    font-size: 15px;
    line-height: 1;
}

.step-common-btn a {
    display: block;
    line-height: 1;
    background: #0062d8;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
}

.step-attention-txt {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    /* background: #fff1d9; */
    background: #d3e7ff;
    /* background: #fff; */
    font-size: 14px;
    border-radius: 5px;
    text-indent: -2em;
    padding-left: 3em;
    color: #443932;
}


.step1 {
    background: #f2f8ff;
}

.step2 {
    background: #f2ffee;
}

.step3 {
    background: #ffeeee;
}

.step1 a {
    color: #0062D8;
    text-decoration: none;
    font-weight: bold;
}

.step2 a {
    color: #28b600;
    text-decoration: none;
    font-weight: bold;
}

.step3 a {
    color: #D60000;
    text-decoration: none;
    font-weight: bold;
}





.step-common-list {
    list-style-type: none;
    font-size: 16px;
}

.app-ms-plan-row {
    display: flex;
}

.app-ms-plan {
    display: block;
    border-radius: 10px;
    box-shadow: 0px 3px 4px -1px rgba(0, 0, 0, 0.2);
}

.app-ms-plan a {
    display: block;
    text-decoration: none;
}

.app-ms-plan:hover {
    opacity: 0.6;
}

.app-ms-plan {
    transition: opacity 0.5s ease-out;
}

.app-ms-plan-vo {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 150, 0, 1) 25%, rgba(211, 130, 0, 1) 100%);
}

.app-ms-plan-fd {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(4, 171, 0, 1) 25%, rgba(0, 137, 0, 1) 100%);
    margin-left: 20px;
    margin-right: 20px;
}

.app-ms-plan-pv {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(0, 60, 186, 1) 25%, rgba(0, 42, 142, 1) 100%);
}

.app-ms-plan img {
    max-width: 100%;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.app-ms-plan-name {
    text-align: center;
    color: #fff;
    font-size: 16px !important;
    font-weight: bold;
    line-height: 1.4;
    display: table-cell;
    vertical-align: middle;
    padding-top: 10px;
    padding-bottom: 10px;
}

.app-ms-plan-name-remarks {
    display: inline-block;
    font-size: 15px;
    letter-spacing: -0.05em;
}

.app-ms-plan-ex-txt {
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 10px;
    border-top: 1px solid #fff;
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 10px;
}

.app-ms-plan-price {
    font-size: 16px;
}

.app-ms-plan-price strong {
    font-size: 32px;
    margin-left: 2px;
    margin-right: 2px;
}

.app-ms-plan-inner {
    width: 100%;
    display: table;
}

.underline {
    display: inline;
    background: linear-gradient(#ff0, #ff0);
    background-size: 100% 40%;
    background-position: 0 100%;
    background-repeat: no-repeat;
}

ul.attention-list {
    padding: 0px 15px;
    position: relative;
    font-weight: bold;
    background: #fff9f1;
    border-radius: 8px;
    font-size: 15px;
    margin-top: 10px;
    margin-bottom: 10px;
}

ul.attention-list li {
    line-height: 1.6;
    border-bottom: dashed 1px #cccccc;
    padding: 10px 0px 10px 25px;
    list-style-type: none !important;
}

ul.attention-list li:before {
    font-family: "FontAwesome";
    content: "\f046";
    position: absolute;
    left: 15px;
    color: #f96002;
}


ul.note-list {
    padding: 10px 15px 15px;
    position: relative;
    font-weight: bold;
    background: #FFF1F1;
    border-radius: 8px;
    font-size: 15px;
    margin-top: 10px;
    margin-bottom: 10px;
    list-style-position: inside;
}

ul.note-list li {
    line-height: 1.6;
    padding: 5px 0px 0px 0px;
    list-style-type: square !important;
    color: #cc0000;
}

ul.note-list li:last-child {
    border-bottom: none;
}

ul.note-list li span {
    color: #cc0000;
}

/*
ul.note-list li:before {
font-family: "FontAwesome";
content: "\f071";
position: absolute;
left: 15px;
color: #f96002;
}
*/




.tab-container {
    max-width: 100%;
    margin: 0 auto;
    font-size: 16px;
}

/* ラジオボタンを非表示 */
.tab-container input[name="tabs"] {
    display: none;
}

/* タブヘッダー */
.tab-header {
    display: flex;
    justify-content: center;
    border-bottom: 3px solid #ff6d00;
    font-size: 20px;
    position: relative;
}

/* タブラベル */
.tab-header label {
    user-select: none;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 16px 20px;
    cursor: pointer;
    transition: color 0.3s, background 0.3s;
    text-align: center;
    border-top: 3px solid #888;
    border-left: 3px solid #888;
    border-right: 3px solid #888;
    color: #888;
    background: linear-gradient(0deg, rgba(235, 235, 235, 1) 0%, rgba(255, 255, 255, 1) 20%);
    font-weight: bold;
    position: relative;
}

.tab-header label:hover {
    color: #bbb;
    background: linear-gradient(0deg, rgba(245, 245, 245, 1) 0%, rgba(255, 255, 255, 1) 20%);
}

/* タブコンテンツ */
.tab-content {}

.content {
    display: none;
    padding: 20px 0px;
}

/* タブの選択状態 */
#intro-tab1:checked~.tab-header label[for="intro-tab1"],
#intro-tab2:checked~.tab-header label[for="intro-tab2"] {
    background-color: #fff;
    color: #ff6d00;
    border-top: 3px solid #ff6d00;
    border-left: 3px solid #ff6d00;
    border-right: 3px solid #ff6d00;
    margin-bottom: -3px;
    font-weight: bold;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgb(255 244 238) 100%);
    position: relative;
    z-index: 1;
}

#intro-tab1:checked~.tab-header label[for="intro-tab1"]:hover,
#intro-tab2:checked~.tab-header label[for="intro-tab2"]:hover {
    color: rgb(255, 137, 47);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgb(255, 248, 244) 100%);
}

/* 選択されたタブのコンテンツを表示 */
#intro-tab1:checked~.tab-content #intro-content1,
#intro-tab2:checked~.tab-content #intro-content2 {
    display: block;
}

.tab-content h3 {
    font-size: 24px;
    font-weight: bold;
}

.flow-block {
    /* border-radius: 10px; */
    /*
border-top: 3px solid #ff6d00;
border-left: 3px solid #ff6d00;
border-right: 3px solid #ff6d00;
border-bottom: 3px solid #ff6d00;
*/
    /* border: 1px solid #ff6d00; */
    border: 1px solid #2196F3;
    display: block;
    margin-top: 10px;
}

.flow-block h4 {
    /* background: #ff6d00; */
    background: #2196F3;
    padding: 12px 0px 15px 0px;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    line-height: 1;
    margin-bottom: 0;
}

.flow-block-inner {
    padding: 20px;
    /* background: #fff9f1; */
    /* background: #fff5ee; */
    background: #EEF7FF;
}

.flow-block-inner ol {
    /* margin-left:20px; */
    list-style: none;
    position: relative;
}

.flow-block-inner ol li {
    background: #fff;
    position: relative;
    margin-bottom: 30px;
    /* filter: drop-shadow(2px 2px 1px rgb(255, 234, 217)); */
    filter: drop-shadow(2px 2px 1px rgb(217, 238, 255));

    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}

.flow-block-inner ol li:last-child {
    margin-bottom: 0px;
}

.flow-block-inner ol li span.num {
    /* background: #ff6d00; */
    /*
background: #2196F3;
width: 20px;
display: inline-block;
text-align: center;
line-height: 20px;
padding: 15px;
font-size: 22px;
color: #fff;
font-weight: bold;
margin-right: 10px;
*/
    background: #2196F3;
    width: 34px;
    min-width: 34px;
    text-align: center;
    line-height: 20px;
    padding: 15px;
    font-size: 22px;
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flow-block-inner ol li span.content-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
}

.flow-block-inner ol li::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    /* border-top: 10px solid #ff6d00; */
    border-top: 10px solid #2196F3;
}

/* 最後のリストアイテムには三角を表示しない */
.flow-block-inner li:last-child::after {
    content: none;
}

.agent-txt-type1 {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dashed #cacaca;
    display: block;
    width: calc(100% - 20px);
}


.agent-txt-type1,
.agent-txt-type2 {
    text-indent: -1em;
    padding-left: 1em;
}


.benefit-icon {
    background: #cc0000;
    color: #fff;
    padding: 4px 6px;
    border-radius: 3px;
    margin-right: 5px;
}

.benefit-txt {
    margin-top: 8px;
    display: inline-block;
    margin-left: 1em;
    color: #cc0000;
    font-weight: bold;
}

.form-container {
    display: flex;
    justify-content: space-between;
}

.form-item {
    width: calc(50% - 10px);
}






/* Form */
.form-block {
    border: 1px solid #cacaca;
    padding: 20px;
    font-size:16px;
}


.form-table {
    width: 100%;
    border-collapse: collapse;
}

.form-table tr:nth-child(odd) {
    background-color: #f7f7f7;
}

.form-table input[type="text"] {
    background: #fbfbfb;
    box-shadow: 0px 1px 4px 0px #cecece inset;
    margin-left: 0px;
    margin-right: 0px;
    box-sizing: border-box;
    border-radius: 4px;
    /* padding: 8px; */
}

.form-table textarea {
    outline: none;
    background: #fbfbfb;
    box-shadow: 0px 1px 4px 0px #cecece inset;
    margin-left: 0px;
    margin-right: 0px;
    box-sizing: border-box;
    border-radius: 4px;
    /* padding: 8px; */
    border: 2px solid #bcbcbc;
    width: 100%;
    min-height: 160px;
}

.form-table input[type="text"]:focus,
.form-table textarea:focus,
.form-table select:focus {
    border: 2px solid #ff6d00 !important;
}

.form-table label {
    /* width: 100%; */
    line-height: 1;
    letter-spacing: -0.06em;
    font-weight: bold;
    display: inline-block;
    margin: 0px;
    margin-right: 2px !important;
    padding: 10px 10px;
    border: 2px solid #bbb;
    border-radius: 4px;
    cursor: pointer;
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #eaeaea 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, #eaeaea 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, #eaeaea 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eaeaea', GradientType=0);
    /* IE6-9 */
}

.form-table label:active {
    border: 2px solid #ff6d00 !important;
}

.form-table label input {
    margin: 0 2px;
}



.form-table .select-wrap {
    position: relative;
}

.form-table .select-wrap-size-m {
    width: 150px;
}

.form-table .select-wrap-size-s-horizontal {
    width: 96px;
    display: table-cell;
}

.form-table .horizontal-parts {
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
}

.form-table .select-wrap:before {
    z-index: 1;
    position: absolute;
    right: 10px;
    top: 0;
    content: "\f107";
    font-family: "FontAwesome";
    line-height: 44px;
    pointer-events: none;
}

.form-table select {
    color: #323232;
    font-weight: 500;
    position: relative;
    outline: none;
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    vertical-align: middle;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 10px;
    border: 2px solid #bbb;
    border-radius: 4px;
    width: 240px;
    background: #ffffff;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ffffff 0%, #eaeaea 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #ffffff 0%, #eaeaea 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #ffffff 0%, #eaeaea 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eaeaea', GradientType=0);
    /* IE6-9 */
}

.form-table select option {
    background-color: #fff;
}

.form-table select::-ms-expand {
    display: none;
}

.form-table select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #828c9a;
}


.select-row {
    display: table;
}

.select-cell {
    display: table-cell;
}

.select-cell.select-wrap {
    width: 138px;
}


.form-table select.form-error,
.form-table checkbox.form-error,
.form-table label.form-error,
.form-table .form-radio label.form-error {
    border: 2px solid #c70000 !important;
    background: #fff9f9 !important;
    background: -moz-linear-gradient(top, #fff9f9 0%, #ffcccc 100%) !important;
    background: -webkit-linear-gradient(top, #fff9f9 0%, #ffcccc 100%) !important;
    background: linear-gradient(to bottom, #fff9f9 0%, #ffcccc 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9', endColorstr='#ffcccc', GradientType=0) !important;
}

.form-table .form-error {
    border: 2px solid #c70000 !important;
    background: #ffecec !important;
}

.form-table .txt-l input,
.form-table .txt-m input,
.form-table .txt-s input,
.form-table .txt-xs input,
.form-table .txt-l textarea {
    margin-top: 0;
}

.form-table table {
    border-collapse: collapse;
    width: 100%;
    word-break: break-all;
}

.form-table th,
.form-table td {
    border-bottom: 1px dashed #bbbbbb;
    font-weight: bold;
    padding-top: 20px;
    padding-bottom: 20px;
}

.contact-item {
    width: 164px;
    text-align: right;
    padding-left: 0;
    padding-right: 20px;
    vertical-align: middle;
    font-size:16px;
}

.contact-inputs {
    font-size: 16px;
    padding-right: 0;
    font-weight: 400 !important;
}

.contact-req {
    font-size: 14px;
    width: 52px;
    vertical-align: middle;
    padding-left: 20px;
    padding-right: 20px;
}

span.req {
    padding: 5px;
    background: #de0000;
    color: #fff;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 3px;
    font-weight: 600;
}

span.any {
    padding: 5px;
    background: #cacaca;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 3px;
    font-weight: 600;
}


input {
    background: #fcfcfc;
    text-decoration: none;
    text-align: left;
    border-radius: 4px;
    line-height: 1.6;
    font-size: 16px;
    box-sizing: border-box;
    border: 2px solid #bcbcbc;
    padding: 5px 5px;
    box-shadow: 0px 2px 4px 0px #cecece inset;
}

input:active {
    box-shadow: none;
    transition: all 0.1s;
}

input:hover {
    border: 2px solid #ff6d00;
}

input:focus,
textarea:focus {
    outline: none;
    border: 2px solid #ff6d00;
}

.txt-xs input {
    width: 96px;
}

.txt-s input {
    /* width: 160px; */
    width: calc(25% - 20px);
}

.txt-m input {
    /* width: 240px; */
    width: calc(50% - 20px);
}

.txt-l input {
    /* width: 460px; */
    width: calc(100% - 20px);
}

.txt-xs select {
    width: 96px;
}

.txt-l select {
    /* width: 460px; */
    width: calc(100% - 20px);

}


.checkboxItem {
    display: flex !important;
    align-items: center;
    column-gap: 4px;
    width: fit-content;
    line-height: 1;
    cursor: pointer;
}

.checkboxItem:not(:last-of-type) {
    margin-bottom: 16px;
}

.checkbox {
    appearance: none;
    position: relative;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    cursor: pointer;
    padding: 8px 8px;
    /*
top: -2px;
left: -2px;
*/
}

.checkbox:checked {
    background-color: #ff6d00;
    box-shadow: none;
    border: 2px solid #ff6d00;
}

.checkbox:checked::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 3px;
    width: 12px;
    height: 6px;
    border-bottom: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
    transform: rotate(-45deg);
}


.radio-inputs {
    display: flex;
}

.radioItem {
    display: flex !important;
    align-items: center;
    column-gap: 4px;
    width: fit-content;
    line-height: 1;
    cursor: pointer;
}

.radioItem:not(:last-of-type) {
    /* margin-bottom: 16px; */
}

.radio {
    appearance: none;
    position: relative;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    cursor: pointer;
    padding: 8px 8px;
    /*
top: -2px;
left: -2px;
*/
}

.radio:checked {
    background-color: #ff6d00;
    box-shadow: none;
    border: 2px solid #ff6d00;
}

.radio:checked::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 3px;
    width: 12px;
    height: 6px;
    border-bottom: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
    transform: rotate(-45deg);
}

.form-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
}

.form-button {
    width: 160px;
    height: 54px;
    display: flex;
    background-color: #ff6d00;
    box-shadow: 0 3px 0 #c65500;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.3s;
    outline: none;
    border: 0;
}

.form-button:hover {
    opacity: 0.7;
}

.form-button:active {
    box-shadow: none;
    transform: translateY(3px);
}


.form-button-return {
    width: 160px;
    height: 54px;
    display: flex;
    background-color: #eee;
    box-shadow: 0 3px 0 #bbb;
    border-radius: 10px;
    color: #000;
    cursor: pointer;
    text-decoration: none;
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.3s;
    outline: none;
    border: 0;
    margin-right: 20px;
}

.form-button-return:hover {
    opacity: 0.7;
}

.form-button-return:active {
    box-shadow: none;
    transform: translateY(3px);
}




.accordion {
    width: 100%;
    margin: 0 auto;
    background: #fff;
    /* overflow: hidden; */
}

.accordion-item {
    box-shadow: 0px 2px 2px -1px rgba(0, 0, 0, 0.2);
}

.accordion-item:last-child {
    border-bottom: none;
}

/* チェックボックスを非表示にする */
.accordion-checkbox {
    display: none;
}

.accordion-header {
    display: block;
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 0px;
    cursor: pointer;
    position: relative;
    transition: background-color 0.3s;
    background: linear-gradient(to bottom, #ffffff 0%, #eaeaea 100%);
    padding: 20px 20px;
    border: 1px solid #bbb;
    border-radius: 0px;
    line-height: 1;
    transition: all 0.2s;
}

.accordion-header span {
    border-left: 5px solid #ff6d00;
    padding-left: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.accordion-header:hover {
    background: linear-gradient(to bottom, #ffffff 0%, #fff5ef 100%);
    border: 1px solid #ff6d00;
    /* color: #ff6d00 !important; */
}

/* + アイコンを追加（+） */
.accordion-header::after {
    font-weight: 400;
    font-family: "FontAwesome", "Century Gothic", "Avenir", "Futura", "Arial", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    content: "\f0fe";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    transition: transform 0.2s;

}

/* チェックされた時の - アイコン */
.accordion-checkbox:checked+.accordion-header::after {
    font-weight: 400;
    font-family: "FontAwesome", "Century Gothic", "Avenir", "Futura", "Arial", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    content: "\f146";
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

/* チェックボックスがチェックされた時のコンテンツ表示 */
.accordion-checkbox:checked~.accordion-content {
    max-height: 1920px;
    /* 十分な高さを設定 */
}


.errors-wrap{
    padding: 20px;
    position: relative;
    font-weight: bold;
    background: #FFF1F1;
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 10px;
    list-style-position: inside;
    border: 3px solid #de0000;
    margin-bottom: 20px;
}
.errors-heading{
    font-size: 18px;
    font-weight:bold;
    margin-bottom: 10px;
    color: #de0000;
}
.errors-wrap li {
    line-height: 1.6;
    padding: 5px 0px 0px 0px;
    list-style-type: none !important;
    color: #de0000;
}
.errors-wrap li a{
    color: #de0000;
    text-decoration: none;
}




.agency-cta{
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    font-size: 20px;
    border-radius: 4px;
    border-radius: 10px;
}
.cta-item{
    text-align: center;
    display: block;
    width: calc(33.333%);
    box-shadow: 0px 3px 4px -1px rgba(0, 0, 0, 0.2);
}

.cta-item1{
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
.cta-item2{
    border-left:1px solid #fff;
    border-right:1px solid #fff;
}
.cta-item3{
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.cta-item a{
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    padding: 20px 0px 10px 0px;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff6d00;
    color: #fff;
    flex-direction: column;
    font-size: 16px;
    transition: all 0.2s;
    cursor: pointer;
}
.cta-item a:hover{
    opacity: 0.7;
}
.cta-item1 a{
    background: #ff6d00;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background: linear-gradient(0deg, rgba(255, 109, 0, 1) 0%, rgba(255, 145, 0, 1) 100%);
}
.cta-item2 a{
    background: #2196f3;
    background: linear-gradient(0deg, rgba(33, 150, 243, 1) 0%, rgba(33, 173, 243, 1) 100%);
}
.cta-item3 a{
    background: #cc0000;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    background: linear-gradient(0deg, rgba(204, 0, 0, 1) 0%, rgb(242 63 0) 100%);
}
.cta-item a .fa-angle-down{
    font-size: 38px;
    margin-top: -5px;
}
.cta-item a strong{
    font-size:32px;
}

.cta-item a span,
.cta-item a strong,
.cta-item a i{
    filter: drop-shadow(1px 2px 0px rgba(0, 0, 0, 0.1));
}


.example-container{
    display: flex;
    font-size: 16px;
    margin-bottom: 20px;
}
.example-item{
    background: #fff4e1;
    width: calc(100% - 10px);
    border-radius: 10px;
    border: 3px solid #ff6d00;
}
.example-vo{
    margin-right: 10px;
}
.example-pv{
    margin-left: 10px;
}
.example-item-header{
    background: #ff6d00;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    padding: 10px 15px;
    font-weight: bold;
    border-bottom-right-radius: 5px;
    line-height: 1;
    border-top-left-radius: 5px;
}
.example-item-txt{
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
}
.example-item-txt strong{
    font-size:20px;
}
.example-item-txt strong.total{
    font-size: 28px;
    color: #de0000;
}






@media screen and (max-width: 540px) {
    .fixed-bg {
        width: calc(100% - 20px);
        padding-left: 10px;
        padding-right: 10px;
    }

    .common-primary-bottom-container {
        flex-direction: column;
        padding-left: 10px;
        padding-right: 10px;
    }

    .sns-links-wrap {
        order: 1;
        width: 100%;
    }

    .step-common-container {
        flex-direction: column;
    }

    .step-common-thumb {
        width: auto;
        height: 200px;
        object-fit: cover;
        border-radius: 5px;
        margin-bottom: 10px;
        background-attachment: fixed;
        /* outline: none; */
    }

    .step-common-content {
        margin-left: 0;
    }

    .common-primary-h3 {
        flex-direction: column;
    }

    .primary-step1 span,
    .primary-step2 span,
    .primary-step3 span {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .primary-step1 strong,
    .primary-step2 strong,
    .primary-step3 strong {
        margin-right: 0;
    }

    .agency-cta{
        display: none;
    }

    .example-container{
        flex-direction: column;
    }
    .example-item{
        width: 100%;
    }
    .example-vo{
        margin-right: 0px;
        margin-bottom: 10px;
    }
    .example-pv{
        margin-left: 0px;
    }
    .app-ms-plan-row{
        flex-direction: column;
    }
    .app-ms-plan-fd{
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 10px;
    }
    .app-ms-plan-vo{
        margin-bottom: 10px;
    }

    ul.note-list li{
        text-indent: -1.5em;
        padding-left: 2em;
    }

    .tab-header{
        font-size:18px;
    }
    .tab-header label{
        padding: 12px 10px;
    }
    .tab-header label:first-child{
        margin-right: 5px !important;
    }

    .req-label-mobile{
        font-size: 12px;
        background: #de0000;
        color: #fff;
        border-radius: 3px;
        padding-left: 8px;
        padding-right: 8px;
        padding-top: 4px;
        padding-bottom: 4px;
        position: relative;
        vertical-align: middle;
        display: inline;
        margin-left: 4px;
      }
    
      .any-label-mobile{
        font-size: 12px;
        background: #cacaca;
        border-radius: 3px;
        padding-left: 8px;
        padding-right: 8px;
        padding-top: 4px;
        padding-bottom: 4px;
        position: relative;
        vertical-align: middle;
        display: inline;
        margin-left: 4px;
      }
      
      .contact-req{
        display: none;
      }

      .contact-item{
        /* width: 100%; */
        width: calc(100% - 20px);
        text-align: left;
        padding-left: 0;
        padding-right: 0;
        display: block;
        border-bottom: none !important;
        padding-bottom: 0 !important;
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 15px !important;
      }
      .contact-inputs{
        /* width: 100%; */
        width: calc(100% - 20px);
        display: block;
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 10px !important;
        padding-bottom: 15px !important;
      }
      .contact-inputs span{
        margin-right: 0px !important;
      }

      .radio-inputs {
        display: flex !important;
        flex-direction: row !important;
      }

      .form-block{
        padding: 10px;
        padding-bottom: 20px;
      }

      .form-table .txt-l input, .form-table .txt-m input, .form-table .txt-s input, .form-table .txt-xs input, .form-table .txt-l textarea{
        width: 100%;
      }

      input[name="your_sei"]{
        margin-bottom: 10px;
      }
      input[name="your_refer_sei"]{
        margin-bottom: 10px;
      }
      .accordion-header{
        padding-right: 58px;
        line-height: 1.2;
      }
      .accordion-header span{
        border-left: none;
        padding-left: 0px;
      }

      .content{
        padding-bottom:0;
      }

      #intro-tab1 ~ .tab-header label[for="intro-tab1"]::before,
      #intro-tab2 ~ .tab-header label[for="intro-tab2"]::before {
        content: "";
        position: absolute;
        top: -3px;
        left: -3px;
        right: -3px;
        bottom: 0;
        border-top: 3px solid #888;
        border-left: 3px solid #888;
        border-right: 3px solid #888;
        z-index: 1;
        pointer-events: none;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
      }

      /* iPhone用タブ疑似要素 */
      #intro-tab1:checked ~ .tab-header label[for="intro-tab1"]::before,
      #intro-tab2:checked ~ .tab-header label[for="intro-tab2"]::before {
          content: "";
          position: absolute;
          top: -3px;
          left: -3px;
          right: -3px;
          bottom: 0;
          border-top: 3px solid #ff6d00;
          border-left: 3px solid #ff6d00;
          border-right: 3px solid #ff6d00;
          z-index: 1;
          pointer-events: none;
          border-top-left-radius: 10px;
          border-top-right-radius: 10px;
      }

      .example-item-txt strong.total{
        font-size: 32px;
      }

}