main {
    margin: 15px auto;
    border: solid 1px #ccc;
    background: #fff;
    padding: 15px;
    border-radius: 3px;
    counter-reset: secNo 0;
}
h1 {
    line-height: 1.1em;
    font-weight: 600;
    font-size: clamp(1.5rem, 1.251rem + 1.25vw, 1.875rem);
    margin: 1rem 0 2rem;
}
h1 span {
    font-size: clamp(1.25rem, 1.084rem + 0.83vw, 1.5rem);
}
h2 {
    width: 100%;
    background: #a9a9a9;
    text-align: center;
    font-size: 20px;
    color: white;
    padding: 10px;
    margin: 0;
}
h2::before {
    counter-increment: secNo 1;
    content: counter(secNo) ".";
}
h4 {
    margin: 0;
    font-weight: normal;
    margin-bottom: 0.75rem;
}

ul {
    list-style: none;
    padding-left: 1em;
    margin: 0;
}

li {
    text-indent: -1em;
}
section {
    background-color: #ffffcc;
}

/* header------------------------------------------------------- */
.header__explanation {
    background-color: white;
    padding: 15px;
    border-radius: 10px;
    border: solid 3px #f57a7a;
    font-weight: 500;
}

.header__explanation-title {
    position: relative;
    padding-left: 1.5rem;
    padding-bottom: 0.5rem;
    font-size: 20px;
    margin-top: 0;
}

.header__explanation-title:before {
    position: absolute;
    content: "";
    bottom: -3px;
    left: 0;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 15px transparent;
    border-bottom: solid 15px rgb(119, 195, 223);
}
.header__explanation-title:after {
    position: absolute;
    content: "";
    bottom: -3px;
    left: 10px;
    width: 98%;
    border-bottom: solid 3px rgb(119, 195, 223);
}
.header__explanation h4 {
    margin: 1rem 0 0;
    font-weight: 700;
}

/* 連番------------------------------------------------------- */
.sec1,
.sec2,
.sec3,
.sec4,
.sec5,
.sec6,
.sec7 {
    counter-reset: ItemNo 0;
}

.sec1 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "1-" counter(ItemNo) "．";
}
.sec2 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "2-" counter(ItemNo) "．";
}
.sec3 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "3-" counter(ItemNo) "．";
}
.sec4 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "4-" counter(ItemNo) "．";
}
.sec5 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "5-" counter(ItemNo) "．";
}
.sec6 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "6-" counter(ItemNo) "．";
}
.sec7 .secItemCount::before {
    counter-increment: ItemNo 1;
    content: "7-" counter(ItemNo) "．";
}

/* その他------------------------------------------------------- */

/* 計算ボタン */
.keisan {
    padding: 10px;
    width: fit-content;
    color: #333;
    font-size: 18px;
    font-weight: 700;
    background-color: #cccccc;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}
.keisan:hover {
    box-shadow: 0px 5px 15px 0px rgba(105, 105, 105, 0.35);
}

/* 必須マーク */
.must {
    margin-left: 0;
    position: relative;
    top: -1px;
}

input,
select {
    font-size: 15px;
}

/* 共通レイアウト------------------------------------------------------- */
.secItem {
    padding: 1rem 0.8rem;/*0.5*/
    border-bottom: solid 1px #ccc;
}
.secItem.noLine{
    border: none;
    padding: .5rem 0.5rem;
}

/* 汎用------------------------------------------------------- */

.mbOnly {
    display: none;
}

.tbOnly {
    display: none;
}
.pcOnly {
    display: block;
}

/* 仕切り線 */
.myHr{
	border:rgb(210, 207, 186) dashed 1px;
}
.haitiwaku{
    border: 2px dotted black;
	padding:10px;
	margin-top: 16px;/*add0605*/
}

/* ※付き説明文 */
.secItemExplanation {
    margin: 0;
}
.asteriskExplanation {
    margin: 0;
    text-indent: -1em;
    padding-left: 1em;
    padding-bottom:0.8em;/*add0605*/
}
.asteriskExplanation::before {
    content: "※";
}

/* list */
.asteriskList {
    margin: auto;
}
.asteriskList li::before {
    content: "※";
}

.dsikList li::before {
    content: "・";
}

/* 下線 */
.borderRed {
    border-bottom: red 1px solid;
}
.colorRed{
color: red;
}
.fontBold{
    font-weight: bold;
}

/* ラジオボタン、チェックボックスの包み */
.radioCheckBoxWrap {
    display: flex;
    flex-direction: column;
}
.radioCheckBoxWrap label {
    width: fit-content;
    /*text-indent: -1em; /*edit0605 エラーがずれる*/
    padding-left: 1em !important;
}

.spanBr{
    display: none;
}


/*レスポンシブ------------------------------------------------------- */
@media (max-width: 1000px) {
    .pcOnly {
        display: none;
    }
    .mcOnly {
        display: none;
    }
    .tbOnly {
        display: block;
    }
}

@media(max-width:700px){
    .spanBr{
        display: block;
    }
}

@media (max-width: 500px) {
    .pcOnly {
        display: none;
    }
    .tbOnly {
        display: none;
    }
    .mbOnly {
        display: block;
    }
    main{
        padding: 0;
    }
    form{
        padding-top: 0 !important;
    }
    input[type="text"] ,input[type="email"] {
        width: 100% !important;
        max-width: none;
    }
    
    /* 計算ボタン */
    .keisan {
        width: 100%;
        font-size: 1em;
    }
}