@charset "utf-8";

/*custom font*/
@import url(https://fonts.googleapis.com/css?family=Montserrat);

/*basic reset*/
* {
    margin: 0;
    padding: 0;
}
html {
    height: 100%;
}
body {
    text-align: center;
    width: 100%;
    height: 100%;
    color: #333333;
    font-size: 16px;
    line-height: 160%;
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "Lucida Grande", sans-serif;
    /* mac \*/
    /* letter-spacing: 1px; */
    /* ここまで */
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl {
    display: block;
}
img {
    width: 100%;
    height: auto;
}


/* PAGE LAYOUT
================================================ */
#container {
    width: 100%;
    min-width: 100%;
    text-align: center;
}
#contents {
    width: min(100%, 1000px);
    margin: 0 auto;
    position: relative;
    box-shadow: 0 0 10px #CCC;
}


/* #header
================================================ */
#header {
    height: 80px;
    display: flex;
    position: relative;
}

/* ロゴ */
#logo {
    width: min(calc(360 * 100vw / 1000), 360px);
    padding: min(calc(30 * 100vw / 1000), 30px) min(calc(18 * 100vw / 1000), 18px) 0 min(calc(29 * 100vw / 1000), 29px);
}

/* No.1 */
#no1 {
    width: 179px;
    padding-top: 18px;
}

/* 見出し（確認・完了） */
#top h1 {
    font-size: min(calc(36 * 100vw / 1000), 36px);
    padding: 40px 0;
    color: #212C6C;
    background: #ECEDF2;
}
#top h1.h_entry {
    padding: 0;
    background: none;
}

#invoice {
    position: absolute;
    top: min(calc(30 * 100vw / 1000), 30px);
    right: min(calc(325 * 100vw / 1000), 325px);
}
#invoice img {
    width: 100%;
    height: auto;
    border-radius: 3px;
}
#h_navi {
    position: absolute;
    top: min(calc(22 * 100vw / 1000), 22px);
    right: 0;
    height: auto;
    display: flex;
}
.tel_num {
    font-size: min(calc(36 * 100vw / 1000), 36px);
    font-weight: bold;
    font-family: 'korolev', sans-serif;
    margin-bottom: 1px;
    display: flex;
    align-items: center;
    letter-spacing: 1px;
}
.tel_num::before {
    content: "";
    display: inline-block;
    background: url(https://nenga.aisatsujo.jp/group_common/images/tel/ico_tel.webp) no-repeat 0 0 / contain;
    width: min(calc(22 * 100vw / 1000), 22px);
    height: min(calc(30 * 100vw / 1000), 30px);
    margin: 0 min(calc(12 * 100vw / 1000), 12px); 0 min(calc(10 * 100vw / 1000), 10px);;
}
.tel_time {
    font-size: min(calc(10.5 * 100vw / 1000), 10.5px);
    letter-spacing: 0;
    text-align: right;
    margin-right: min(calc(28 * 100vw / 1000), 28px);
}
#tel_box {
    width: min(calc(310 * 100vw / 1000), 310px);
}

@media screen and (max-width: 750px) {
    #header {
        height: calc(120 * 100vw / 750);
    }

    /* ロゴ */
    #logo {
        width: calc(456 * 100vw / 750);
        padding: calc(40 * 100vw / 750) calc(27 * 100vw / 750) 0 calc(24 * 100vw / 750);
    }

    /* No.1 */
    #no1 {
        width: calc(228 * 100vw / 750);
        padding-top: calc(60 * 100vw / 750);
    }
    #top h1 {
        font-size: calc(50 * 100vw / 750);
        padding: calc(40 * 100vw / 750) 0;
    }
}

/* #main
================================================ */

/* #box_support -------------------------------- */
#box_support {
    padding: min(calc(85 * 100vw / 1000), 85px) min(calc(85 * 100vw / 1000), 85px);
    background: #ECEDF2;
    /*background: #ECEDF2 url("../images/img_estimate.png") center bottom / contain no-repeat;*/
    color: #212C6C;
}
#box_support h2 {
    margin: 0 auto min(calc(43 * 100vw / 1000), 43px);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: min(calc(30 * 100vw / 1000), 30px);
    font-weight: 900;
	line-height: 160%;
}
#box_support ul {
    width: min(calc(830 * 100vw / 1000), 830px);
    margin: 0 auto min(calc(34 * 100vw / 1000), 34px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#box_support li {
    width: min(calc(405 * 100vw / 1000), 405px);
    margin-bottom: min(calc(20 * 100vw / 1000), 20px);
    background: #FFF;
    list-style: none;
}
#box_support li dl {
    width: 100%;
    padding: min(calc(28 * 100vw / 1000), 28px) min(calc(26 * 100vw / 1000), 26px) min(calc(28 * 100vw / 1000), 28px) min(calc(138 * 100vw / 1000), 138px);
    box-sizing: border-box;
    text-align: left;
}
#box_support li:first-child dl {
    background: url("../images/img_icon1.png") min(calc(28 * 100vw / 1000), 28px) center / min(calc(85 * 100vw / 1000), 85px) auto no-repeat;
}
#box_support li:nth-child(2) dl {
    background: url("../images/img_icon2.png") min(calc(28 * 100vw / 1000), 28px) center / min(calc(83 * 100vw / 1000), 83px) auto no-repeat;
}
#box_support li:nth-child(3) dl {
    background: url("../images/img_icon3.png") min(calc(28 * 100vw / 1000), 28px) center / min(calc(94 * 100vw / 1000), 94px) auto no-repeat;
}
#box_support li:last-child dl {
    background: url("../images/img_icon4.png") min(calc(28 * 100vw / 1000), 28px) center / min(calc(85 * 100vw / 1000), 85px) auto no-repeat;
}
#box_support li dt {
    margin-bottom: min(calc(11 * 100vw / 1000), 11px);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: min(calc(25 * 100vw / 1000), 25px);
    font-weight: 900;
}
#box_support li dd {
    font-size: min(calc(17 * 100vw / 1000), 17px);
    letter-spacing: normal;
}

/* プライバシーマーク */
#pmark {
    width: min(calc(608 * 100vw / 1000), 608px);
    margin: 0 auto min(calc(44 * 100vw / 1000), 44px);
    display: flex;
    text-align: left;
}
#pmark div {
    width: min(calc(80 * 100vw / 1000), 80px);
    margin-right: min(calc(20 * 100vw / 1000), 20px);
    flex-basis: min(calc(80 * 100vw / 1000), 80px);
}
#pmark p {
    font-size: min(calc(16 * 100vw / 1000), 16px);
    flex: 1;
    letter-spacing: normal;
    line-height: 1.7rem;
    text-align: justify;
}
#option div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
}
#option h2{
    margin: 0 auto min(calc(35 * 100vw / 1000), 35px);
}
#option img{
    width: min(calc(120 * 100vw / 1000), 120px);
    height: auto;
}

/* 見積もりボタン */
#mitsumori a {
    display: block;
    margin: 0 auto min(calc(120 * 100vw / 1000), 120px);
    padding: 0 min(calc(20 * 100vw / 1000), 20px) 0 0;
    width: min(calc(422 * 100vw / 1000), 422px);
    height: min(calc(75 * 100vw / 1000), 75px);
    line-height: min(calc(75 * 100vw / 1000), 75px);
    letter-spacing: 1px;
    border-radius: min(calc(5 * 100vw / 1000), 5px);
    background: #009040;
    background: linear-gradient(#009040, #00B14F);
    color: #FFF;
    font-size: min(calc(24 * 100vw / 1000), 24px);
    font-weight: bold;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
}
#mitsumori a::after {
    content: "";
    background-color: #FFF;
    width: 20px;
    height: 16px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    top: calc(50% - (6 * 100vw / 1000));
    right: min(calc(34 * 100vw / 1000), 34px);
}
#mitsumori a:hover {
    opacity: .7;
}

/* お取り扱いの挨拶状について */
#paper {
    box-sizing: border-box;
    padding: min(calc(70 * 100vw / 1000), 70px) min(calc(54 * 100vw / 1000), 54px);
    background: #FFF;
}
#paper h2 {
    margin: 0 auto min(calc(36* 100vw / 1000), 36px);
}
#paper h3,
#paper div,
#paper p {
    text-align: left;
}
#paper h3 {
    border-left: 3px solid #212C6C ;
    margin-bottom: min(calc(24 * 100vw / 1000), 24px);
    padding-left: min(calc(10 * 100vw / 1000), 10px);
    line-height: 100%;
}
#paper div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: min(calc(48 * 100vw / 1000), 48px);
}
#paper dl {
    width: min(calc(224 * 100vw / 1000), 224px);
}
#paper dl:nth-of-type(1),
#paper dl:nth-of-type(2),
#paper dl:nth-of-type(3) {
    padding-top: min(calc(186 * 100vw / 1000), 186px);
}
#paper dl:nth-of-type(1) {
    background: url("../images/paper_01.png") center top / contain no-repeat;
}
#paper dl:nth-of-type(2) {
    background: url("../images/paper_02.png") center top / contain no-repeat;
}
#paper dl:nth-of-type(3) {
    background: url("../images/paper_03.png") center top / contain no-repeat;
}
#paper dt {
    height: min(calc(54 * 100vw / 1000), 54px);
}
#paper h3,
#paper dl dt {
    font-size: min(calc(16 * 100vw / 1000), 16px);
    font-weight: bold;
    line-height: 160%;
}
#paper p,
#paper dl dd {
    font-size: min(calc(14 * 100vw / 1000), 14px);
    line-height: 160%;
}
.font_b {
    font-weight: bold;
}

/* 見積もりキャンペーン */
#campaign {
    width: 90%;
    border: 6px solid #12b6df;
    box-sizing: border-box;
    margin: min(calc(80 * 100vw / 1000), 80px) auto 0;
    padding: min(calc(54 * 100vw / 1000), 54px);
    background: #FFF;
    text-align: left;
}
#campaign h2 {
    margin: 0 auto min(calc(30* 100vw / 1000), 30px);
    padding: min(calc(26* 100vw / 1000), 26px) min(calc(20* 100vw / 1000), 20px);
    background: #12b6df;
    color: #FFF;
    line-height: 140%;
    text-align: center;
	font-size: min(calc(28* 100vw / 1000), 28px);
}
#campaign h2 span {
    font-size: min(calc(24* 100vw / 1000), 24px);
}
#campaign h2 .line{
	display: inline-block;
	border-bottom: 3px solid #faea00;
}
#campaign h3{
	margin-bottom: 10px;
	font-size: 18px;
}
#campaign > div {
    margin-bottom: 40px;
}
#campaign .top_text{
	text-align: center;
	margin-bottom: 10px
}
#campaign .top_text strong{
	color: #D70C18;
}
#campaign dl:nth-of-type(1) {
    margin-bottom:15px;
}
#campaign dl dt {
    margin-bottom: min(calc(4 * 100vw / 1000), 4px);
    font-size: min(calc(16 * 100vw / 1000), 16px);
    font-weight: bold;
    line-height: 160%;
}
#campaign dl dd:nth-of-type(2),
#campaign dl dd:nth-of-type(3) {
    margin-top: min(calc(10 * 100vw / 1000), 10px);
}
#campaign p {
/*    margin-bottom: min(calc(40 * 100vw / 1000), 40px);*/
    font-size: min(calc(16 * 100vw / 1000), 16px);
    line-height: 160%;
}
#campaign dl dd {
    font-size: min(calc(14 * 100vw / 1000), 14px);
    line-height: 160%;
}
#campaign dd .price {
    font-weight: bold;
}
#campaign .list_d {
    flex-direction: column;
    width: auto;
    margin: 0;
    padding-left: 30px;
}
#campaign .list_d li {
    list-style: disc;
    margin-bottom: 5px;
}
#campaign .cam_mitsumori-dec p {
    margin-bottom: 15px;
}
#campaign .caution_list {
    flex-direction: column;
    width: auto;
    margin: 0;
}
#campaign .caution_list li {
    margin: 0 0 5px;
    width: auto;
    background: none;
    box-sizing: border-box;
    padding-left: 20px;
    position: relative;
}
#campaign .caution_list li::before {
    content: "※";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
}
@media screen and (max-width: 750px) {

    /* #box_support -------------------------------- */
    #box_support {
        padding: calc(73 * 100vw / 750) calc(40 * 100vw / 750);
        background: #ECEDF2;
    }
    #box_support h2 {
        margin: 0 auto calc(50 * 100vw / 750);
        font-size: calc(48 * 100vw / 750);
        line-height: 2.7rem;
    }
    #box_support ul {
        width: 100%;
        margin: 0 auto calc(40 * 100vw / 750);
    }
    #box_support li {
        width: 100%;
        margin-bottom: calc(30 * 100vw / 750);
    }
    #box_support li dl {
        width: 100%;
        padding: calc(40 * 100vw / 750) calc(40 * 100vw / 750) calc(35 * 100vw / 750) calc(222 * 100vw / 750);
    }
    #box_support li:first-child dl {
        background: url("../images/img_icon1.png") calc(41 * 100vw / 750) center / calc(140 * 100vw / 750) auto no-repeat;
    }
    #box_support li:nth-child(2) dl {
        background: url("../images/img_icon2.png") calc(44 * 100vw / 750) center / calc(137 * 100vw / 750) auto no-repeat;
    }
    #box_support li:nth-child(3) dl {
        background: url("../images/img_icon3.png") calc(37 * 100vw / 750) center / calc(152 * 100vw / 750) auto no-repeat;
    }
    #box_support li:last-child dl {
        background: url("../images/img_icon4.png") calc(47 * 100vw / 750) center / calc(145 * 100vw / 750) auto no-repeat;
    }
    #box_support li dt {
        margin-bottom: calc(20 * 100vw / 750);
        font-size: calc(43 * 100vw / 750);
    }
    #box_support li dd {
        font-size: calc(29 * 100vw / 750);
        line-height: 145%;
    }

    /* プライバシーマーク */
    #pmark {
        width: 100%;
    }
    #pmark div {
        width: calc(97 * 100vw / 750);
        margin-right: calc(27 * 100vw / 750);
        flex-basis: calc(97 * 100vw / 750);
    }
    #pmark p {
        font-size: calc(18 * 100vw / 750);
        line-height: 1.1rem;
    }

    /* オプションサービス */
    #option div {
        display: flex;
        margin: 0 auto calc(40 * 100vw / 750);
        flex-wrap: wrap;
        justify-content: space-between;
        align-content: space-between;
    }
    #option h2 {
        font-size: calc(47 * 100vw / 750);
    }
    #option img{
        width: min(calc(200 * 100vw / 750), 200px);
        padding-bottom: min(calc(45 * 100vw / 1000), 50px);
    }

/* 見積もりボタン */
#mitsumori a {
    display: block;
    margin: 0 auto min(calc(120 * 100vw / 750), 120px);
    padding: 0 min(calc(20 * 100vw / 750), 20px) 0 0;
    width: 100%;
    height: min(calc(75 * 100vw / 750), 75px);
    line-height: min(calc(75 * 100vw / 750), 75px);
    letter-spacing: 1px;
    border-radius: min(calc(5 * 100vw / 750), 5px);
    background: #009040;
    background: linear-gradient(#009040, #00B14F);
    color: #FFF;
    font-size: min(calc(29 * 100vw / 750), 29px);
    font-weight: bold;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
}
#mitsumori a::after {
    content: "";
    background-color: #FFF;
    width: min(calc(20 * 100vw / 750), 20px);
    height: min(calc(16 * 100vw / 750), 16px);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    top: calc(50% - (6 * 100vw / 750));
    right: min(calc(34 * 100vw / 750), 34px);
}
    
    /* お取り扱いの挨拶状について */
    #paper {
        box-sizing: border-box;
        padding: min(calc(70 * 100vw / 750), 70px) min(calc(54 * 100vw / 750), 54px);
        background: #FFF;
    }
    #paper h2 {
        margin: 0 auto min(calc(36* 100vw / 750), 36px);
    }
    #paper h3,
    #paper div,
    #paper p {
        text-align: left;
    }
    #paper h3 {
        border-left: 3px solid #212C6C ;
        margin-bottom: min(calc(24 * 100vw / 750), 24px);
        padding-left: min(calc(10 * 100vw / 750), 10px);
        line-height: 100%;
    }
    #paper div {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: min(calc(48 * 100vw / 750), 48px);
    }
    #paper dl {
        width: 100%;
        /*width: min(calc(224 * 100vw / 750), 224px);*/
    }
    #paper dl:nth-of-type(1),
    #paper dl:nth-of-type(2),
    #paper dl:nth-of-type(3) {
        margin-bottom: min(calc(40 * 100vw / 750), 40px);
        padding-top: min(calc(460 * 100vw / 750), 460px);
    }
    #paper dl:nth-of-type(1) {
        background: url("../images/paper_01.png") center top / contain no-repeat;
    }
    #paper dl:nth-of-type(2) {
        background: url("../images/paper_02.png") center top / contain no-repeat;
    }
    #paper dl:nth-of-type(3) {
        background: url("../images/paper_03.png") center top / contain no-repeat;
        margin-bottom: min(calc(60 * 100vw / 750), 60px);
    }
    #paper dt {
        height: min(calc(54 * 100vw / 750), 54px);
    }
    #paper h3,
    #paper dl dt {
        font-size: min(calc(29 * 100vw / 750), 29px);
        font-weight: bold;
        line-height: 160%;
    }
    #paper p,
    #paper dl dd {
        font-size: min(calc(22 * 100vw / 750), 22px);
        line-height: 160%;
    }
    
    /* 見積もりキャンペーン */
    #campaign {
        width: 100%;
		border-width:  min(calc(6 * 100vw / 750), 6px);
        margin-top: min(calc(80 * 100vw / 750), 80px);
        padding:min(calc(30 * 100vw / 750), 30px);
    }
    #campaign h2 {
        margin: 0 auto min(calc(40* 100vw / 750), 40px);
        padding: min(calc(26* 100vw / 750), 26px) min(calc(20* 100vw / 750), 20px);
        line-height: 140%;
		font-size: calc(32 * 100vw / 750);
    }
    #campaign h2 span {
        font-size: min(calc(28* 100vw / 750), 28px);
    }
	#campaign h2 .line{
	border-bottom-width:calc(5* 100vw / 750);
	}
	#campaign h3 {
        margin-bottom: calc(25 * 100vw / 750);
        font-size: calc(25 * 100vw / 750);
    }
	#campaign > div {
		margin-bottom: calc(60 * 100vw / 750);
	}
    #campaign dl:nth-of-type(1) {
        margin-bottom: min(calc(24 * 100vw / 750), 24px);
    }
    #campaign dl dt {
        margin-bottom: min(calc(4 * 100vw / 750), 4px);
        font-size: min(calc(25 * 100vw / 750), 25px);
        line-height: 140%;
    }
    #campaign dl dd:nth-of-type(2),
    #campaign dl dd:nth-of-type(3) {
        margin-top: min(calc(10 * 100vw / 750), 10px);
    }
    #campaign p {
        margin-bottom: min(calc(40 * 100vw / 750), 40px);
        font-size: min(calc(29 * 100vw / 750), 29px);
        line-height: 140%;
    }
    #campaign dl dd {
        font-size: min(calc(22 * 100vw / 750), 22px);
        line-height: 160%;
    }
	
	#campaign .cam_mitsumori-dec p{
		margin-bottom: calc(25 * 100vw / 750);
	}
	#campaign .top_text {
		margin-bottom: calc(10 * 100vw / 750);
		font-size: calc(25 * 100vw / 750);
	}
}


/* #box_form -------------------------------- */
#box_form {
    padding: min(calc(405 * 100vw / 1000), 405px) min(calc(85 * 100vw / 1000), 85px) min(calc(85 * 100vw / 1000), 85px);
    background: #FFF url("../images/img_estimate.png") center top / contain no-repeat;
    position: relative;
    text-align: left;
}
#box_form h2 {
    width: min(calc(478 * 100vw / 1000), 478px);
    height: min(calc(72 * 100vw / 1000), 72px);
    background: #212C6C;
    position: absolute;
    left: 0;
    top: min(calc(290 * 100vw / 1000), 290px);
    color: #FFF;
    font-size: min(calc(27 * 100vw / 1000), 27px);
    font-weight: bold;
    line-height: min(calc(72 * 100vw / 1000), 72px);
    text-align: center;
}
#box_form h3 {
    color: #212C6C;
    font-size: min(calc(22 * 100vw / 1000), 22px);
    font-weight: bold;
    line-height: min(calc(50 * 100vw / 1000), 50px);
    border-bottom: 1px solid #CCC;
    margin-bottom: min(calc(50 * 100vw / 1000), 50px);
    position: relative;
}
#box_form h3::after {
    content: "";
    border-bottom: 1px solid #212C6C;
    position: absolute;
    bottom: 0;
    left: 0;
}
#box_form h3.h-customer::after {
    width: min(calc(140 * 100vw / 1000), 140px);
}
#box_form h3.h-estimate::after {
    width: min(calc(160 * 100vw / 1000), 160px);
}
#box_form .txt {
    margin-bottom: min(calc(40 * 100vw / 1000), 40px);
}
#box_form .txt p+p {
    margin-top: min(calc(13 * 100vw / 1000), 13px);
	line-height: 140%;
}
.red {
    color: #E22806;
}
.idt {
    padding-left: 1.5em;
    text-indent: -1.5em;
}
#box_form .txt p span {
    color: #E22806;
}

/* form styles */
#lpform {
    margin: 0 auto 50px;
    text-align: left;
    position: relative;
}
#lpform fieldset {
    border: none;
    position: relative;
}
.corporate,
.name,
.furigana,
.email,
.tel,
.greeting_purpose,
.greeting_types,
.card_types,
.number,
.needs {
    display: flex;
    align-items: baseline;
}
.tel {
    margin-bottom: min(calc(54 * 100vw / 1000), 54px);
}
.corporate label,
.name label,
.furigana label,
.email label,
.tel label,
.greeting_purpose label,
.greeting_types label,
.card_types label,
.number label,
.needs label {
    flex-basis: 30%;
}

/* inputs */

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}
#lpform input:not(input[type=radio]),
#lpform textarea {
    width: 70%;
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: border-box;
    font-size: 16px;
}
#lpform .number,
#lpform .needs {
    flex-wrap: wrap;
}
#lpform .needs.--confirm {
    flex-wrap: nowrap;
}
#lpform .number input {
    width: 113px !important;
    margin-bottom: min(calc(5 * 100vw / 1000), 5px) !important;
    margin-right: min(calc(10 * 100vw / 1000), 10px);
}
#lpform .number p {
    width: 100%;
    margin-left: min(calc(250 * 100vw / 1000), 250px);
    margin-bottom: 20px;
    font-size: min(calc(16 * 100vw / 1000), 16px);
}
#lpform .number p span {
    color: #FF0000;
    font-weight: bold;
}
#lpform input[type=radio] {
    margin: 0 10px;
}
#lpform .needs p {
    font-size: min(calc(16 * 100vw / 1000), 16px);
}
#lpform .needs textarea {
    margin-left: min(calc(250 * 100vw / 1000), 250px);
    line-height: 160%;
}
#lpform select {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: border-box;
    font-size: 16px;
}

/* 確認ページ */
.box {
    margin-bottom: min(calc(50 * 100vw / 1000), 50px);
    display: flex;
    flex-direction: column;
}
.box div {
    display: flex;
    flex-direction: row;
    flex-basis: calc(100% - 5em);
    padding: 0px 10px 10px 0px;
}
.box div.key {
    flex-basis: 15em;
    font-weight: bold;
}
#lpform input::placeholder,
#lpform textarea::placeholder {
    opacity: 0.5;
}

/* buttons */
#lpform input.action-button {
    width: 300px !important;
    margin: 20px auto;
    padding: 10px;
    background: #27AE60;
    border: 0 none;
    border-radius: 3px;
    color: white;
    cursor: pointer;
    display: block;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
}
#lpform .action-button:hover,
#lpform .action-button:focus {
    opacity: 0.7;
}
.required {
    color: red;
    font-size: x-small;
    font-weight: bold;
}
.required::after {
    content: '（必須）';
}
.optional {
    color: lightgreen;
    font-size: x-small;
    font-weight: bold;
}
.optional::after {
    content: '（任意）';
}

/* 個人情報の取扱いについて */
#kjoho {
    margin: min(calc(30 * 100vw / 1000), 30px) auto;
}
#kjoho h3 {
    height: min(calc(40 * 100vw / 1000), 40px);
    background: #CCC;
    font-size: 1.17rem;
    font-weight: bold;
    line-height: min(calc(40 * 100vw / 1000), 40px);
    text-align: center;
    border: none;
    margin: 0;
}
#kjoho div {
    padding: min(calc(15 * 100vw / 1000), 15px);
    border: #CCC solid 1px;
}
iframe {
    width: 100%
}
.consent {
    display: flex;
    justify-content: center;
}
.consent label input {
    margin-bottom: 0 !important;
}

@media screen and (max-width: 750px) {
    /* #box_form -------------------------------- */
    #box_form {
        padding: calc(567 * 100vw / 750) calc(40 * 100vw / 750) calc(96 * 100vw / 750);
        background: #FFF url("../images/img_estimate_s.png") center top / contain no-repeat;
    }
    #box_form h2 {
        width: calc(572 * 100vw / 750);
        height: calc(90 * 100vw / 750);
        top: calc(410 * 100vw / 750);
        font-size: calc(33 * 100vw / 750);
        line-height: calc(90 * 100vw / 750);
    }
    #box_form h3 {
        font-size: calc(36 * 100vw / 750);
        line-height: calc(80 * 100vw / 750);
        margin-bottom: calc(46 * 100vw / 750);
    }
    #box_form h3.h-customer::after {
        width: calc(220 * 100vw / 750);
    }
    #box_form h3.h-estimate::after {
        width: calc(260 * 100vw / 750);
    }
    #box_form .txt {
        margin-bottom: min(calc(40 * 100vw / 1000), 40px);
        line-height: 1.2rem;
    }
    #box_form .txt p {
        font-size: max(calc(22 * 100vw / 750), 12px);
    }
    #box_form .txt p+p {
        margin-top: calc(23 * 100vw / 750);
    }
    .box {
        margin-bottom: calc(50 * 100vw / 750);
    }

/* form styles */
    #lpform input:not(input[type=radio]),
    #lpform textarea {
        width: 100%;
    }
    .corporate,
    .name,
    .furigana,
    .email,
    .tel {
        flex-direction: column;
    }
    .greeting_purpose label,
    .greeting_types label,
    .card_types label,
    .number label,
    .needs label {
        flex-basis: 43%;
    }
    #lpform .number p {
        margin-left: 0;
        margin-bottom: calc(36 * 100vw / 750);
        font-size: 12px;
        text-indent: -1.4em;
        padding-left: 1.5em;
        line-height: 120%;
    }
    #lpform .needs p {
        font-size: 12px;
        line-height: 120%;
        margin-bottom: calc(16 * 100vw / 750);
    }
    #lpform .needs textarea {
        margin-left: 0;
    }

    /* 確認ページ */
    .box div {
        flex-direction: column;
    }
    .box div.key {
        flex-basis: 1em;
    }
    /* buttons */
    #lpform input.action-button {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* 個人情報の取扱いについて */
    #kjoho {
        margin: calc(30 * 100vw / 750) auto;
    }
    #kjoho h3 {
        height: calc(48 * 100vw / 750);
        font-size: calc(26 * 100vw / 750);
        line-height: calc(50 * 100vw / 750);
        margin-bottom: 0;
    }
    #kjoho div {
        padding: calc(15 * 100vw / 750);
    }
}


/* footer
================================================ */
#footer {
    padding: min(calc(88 * 100vw / 1000), 88px) 0 min(calc(52 * 100vw / 1000), 52px);
    background: #ECEDF2;
    position: relative;
    color: #212C6C;
}
#footer h2 {
    width: min(calc(478 * 100vw / 1000), 478px);
    height: min(calc(72 * 100vw / 1000), 72px);
    background: #212C6C;
    position: absolute;
    left: 0;
    top: max(calc(-36 * 100vw / 1000), -36px);
    color: #FFF;
    font-size: min(calc(27 * 100vw / 1000), 27px);
    font-weight: bold;
    line-height: min(calc(72 * 100vw / 1000), 72px);
    text-align: center;
}

/* 電話番号 */
#footer .box_tel {
    width: min(calc(616 * 100vw / 1000), 616px);
    margin: 0 auto min(calc(32 * 100vw / 1000), 32px);
    text-align: left;
}
#footer .box_tel a {
    margin-bottom: min(calc(9 * 100vw / 1000), 9px);
    display: block;
}
#footer .box_tel p {
    font-size: min(calc(19 * 100vw / 1000), 19px);
    font-weight: bold;
    text-indent: -0.5em;
}
#footer .box_tel p span {
    font-size: min(calc(18 * 100vw / 1000), 18px);
}

/* お問い合わせ */
#footer dl {
    margin: 0 auto min(calc(120 * 100vw / 1000), 120px);
}
#footer dt {
    margin-bottom: min(calc(27 * 100vw / 1000), 27px);
    font-family: 'Noto Sans JP', sans-serif;
    font-size: min(calc(29 * 100vw / 1000), 29px);
    font-weight: 900;
    letter-spacing: 0.06em;
}
#footer dd a {
    width: min(calc(442 * 100vw / 1000), 442px);
    height: min(calc(76 * 100vw / 1000), 76px);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3BA44A;
    border-radius: 50px;
    color: #FFF;
    font-size: min(calc(28 * 100vw / 1000), 28px);
    font-weight: bold;
    letter-spacing: 0.1em;
    text-decoration: none;
}
#footer dd a:hover {
    opacity: 0.7;
}
#footer dd a span {
    margin-right: min(calc(5 * 100vw / 1000), 5px);
}

/* 矢印 */
#footer dd a i {
    width: min(calc(28 * 100vw / 1000), 28px);
    height: min(calc(28 * 100vw / 1000), 28px);
    background: #FFF;
    border-radius: 50%;
    position: relative;
}
#footer dd a i::before {
    width: min(calc(6 * 100vw / 1000), 6px);
    height: min(calc(6 * 100vw / 1000), 6px);
    position: absolute;
    left: 10%;
    top: 44%;
    border: 3px solid transparent;
    border-top: 3px solid #3BA44A;
    border-right: 3px solid #3BA44A;
    border-radius: 2px;
    content: "";
    transform: rotate(45deg) translateY(-50%);
}
#footer .box_bnr {
    width: min(calc(570 * 100vw / 1000), 570px);
    margin: 0 auto min(calc(100 * 100vw / 1000), 100px);
}
#footer .box_bnr a {
    display: block;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
}
#footer .box_bnr a:hover {
    opacity: 0.7;
}
#footer>p {
    color: #333;
    font-size: min(calc(13 * 100vw / 1000), 13px);
}

@media screen and (max-width: 750px) {

    /* footer
    ================================================ */
    #footer {
        padding: calc(123 * 100vw / 750) 0 calc(40 * 100vw / 750);
    }
    #footer h2 {
        width: calc(572 * 100vw / 750);
        height: calc(90 * 100vw / 750);
        top: calc(-45 * 100vw / 750);
        font-size: calc(33 * 100vw / 750);
        line-height: calc(90 * 100vw / 750);
    }

    /* 電話番号 */
    #footer .box_tel {
        width: calc(616 * 100vw / 750);
        margin: 0 auto calc(32 * 100vw / 750);
    }
    #footer .box_tel a {
        margin-bottom: calc(9 * 100vw / 750);
    }
    #footer .box_tel p {
        font-size: calc(20 * 100vw / 750);
        letter-spacing: -0.01rem;
    }
    #footer .box_tel p span {
        font-size: calc(19 * 100vw / 750);
    }

    /* お問い合わせ */
    #footer dl {
        margin: 0 auto calc(160 * 100vw / 750);
    }
    #footer dt {
        margin-bottom: calc(40 * 100vw / 750);
        font-size: calc(33 * 100vw / 750);
    }
    #footer dd a {
        width: calc(562 * 100vw / 750);
        height: calc(97 * 100vw / 750);
        font-size: calc(33 * 100vw / 750);
    }
    #footer dd a span {
        margin-right: calc(17 * 100vw / 750);
    }

    /* 矢印 */
    #footer dd a i {
        width: calc(36 * 100vw / 750);
        height: calc(36 * 100vw / 750);
    }
    #footer dd a i::before {
        width: calc(8 * 100vw / 750);
        height: calc(8 * 100vw / 750);
        left: 7%;
        top: 44%;
        border: calc(4 * 100vw / 750) solid transparent;
        border-top: calc(4 * 100vw / 750) solid #3BA44A;
        border-right: calc(4 * 100vw / 750) solid #3BA44A;
    }
    #footer .box_bnr {
        width: calc(613 * 100vw / 750);
        margin: 0 auto calc(90 * 100vw / 750);
    }
    #footer>p {
        font-size: calc(13 * 100vw / 750);
        line-height: 1.4rem;
    }
}


/* エラーメッセージ
================================================ */
#box_error {
    padding: min(calc(15 * 100vw / 1000), 15px) min(calc(15 * 100vw / 1000), 15px) min(calc(15 * 100vw / 1000), 15px) min(calc(30 * 100vw / 1000), 30px);
    background: #FCC;
    color: #F00;
    font-weight: bold;
}
#box_error li+li {
    margin-top: 0.5em;
}

@media screen and (max-width: 750px) {
    #box_error {
        padding: calc(15 * 100vw / 750) calc(15 * 100vw / 750) calc(15 * 100vw / 750) calc(45 * 100vw / 750);
    }
}


/* 確認画面
================================================ */
#box_btn {
    width: min(calc(600 * 100vw / 1000), 600px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
#box_btn form {
    flex-basis: min(calc(300 * 100vw / 1000), 300px);
}
#check p {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}

/* buttons */
#lpform input.back.action-button {
    width: 100px !important;
    background: #EEE;
    color: #333;
}

@media screen and (max-width: 750px) {
    #box_btn {
        width: 100%;
    }
    #box_btn form:first-child {
        flex-basis: 30%;
    }
    #box_btn form:last-child {
        flex-basis: 60%;
    }

    /* buttons */
    #lpform input.back.action-button {
        width: 100% !important;
    }
}


/* 完了画面
================================================ */
#box_complete {
    text-align: center;
}
#box_complete h2 {
    margin: min(calc(100 * 100vw / 1000), 100px) auto 0;
    font-size: min(calc(30 * 100vw / 1000), 30px);
}
#box_complete #box_form {
    background: none;
    padding: min(calc(100* 100vw / 1000), 100px) min(calc(85* 100vw / 1000), 85px) min(calc(85* 100vw / 1000), 85px);
}
#box_form a {
    width: min(calc(300 * 100vw / 1000), 300px);
    margin: 0 auto min(calc(50 * 100vw / 1000), 50px);
    display: block;
    text-decoration: none;
}
#box_form a:hover,
#box_form a:focus {
    opacity: 0.7;
}
#box_complete input[type=button] {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #EEE;
    border: 0 none;
    border-radius: 3px;
    color: #333;
    cursor: pointer;
    display: block;
    font-size: 20px !important;
    font-weight: bold;
    text-decoration: none;
}

/* クーポン表示 */
#box_complete h2+p {
    margin: 10px 0 60px;
}
#box_coupon {
    padding: min(calc(60 * 100vw / 1000), 60px) 0;
    background: #ECEDF2;
}
#box_complete dl {
    width: 60%;
    margin: min(calc(5 * 100vw / 1000), 5px) auto min(calc(40 * 100vw / 1000), 40px);
    padding: 20px;
}
#box_complete dt {
    font-size: 18px;
    margin: 0 0 15px;
}
#box_complete dd {
    font-size: min(calc(36 * 100vw / 1000), 36px);
    font-weight: bold;
    letter-spacing: 2px;
}
#box_complete dd.expiry {
    margin-top: 35px;
    font-size: 14px;
    font-weight: normal;
}
#box_complete ul{
    width: min(calc(900* 100vw / 1000), 772px);
    margin: 0 auto;
    text-align: left;
    list-style: none;
}
#box_complete ul li {
    font-size: 14px;
	padding-left:1.5em !important;
	text-indent:-1.5em !important;
}
#box_complete ul li::before {
	content:"※ ";
}


@media screen and (max-width: 750px) {
    #box_complete {
        line-height: 140%;
    }
    #box_complete #box_form {
        padding: calc(100 * 100vw / 750) calc(40 * 100vw / 750) calc(96 * 100vw / 750);
    }
    #box_complete h2 {
        margin: calc(100 * 100vw / 750) auto 0;
        font-size: calc(45 * 100vw / 750);
    }
    #box_complete a {
        width: min(100%, calc(300 * 100vw / 750));
        margin: 0 auto calc(50 * 100vw / 750);
    }
    #box_complete input[type=button] {
        font-size: calc(30 * 100vw / 750) !important;
    }

    /* クーポン表示 */
    #box_complete h2+p {
        margin: calc(20 * 100vw / 750) 0 calc(60 * 100vw / 750);
        padding: 0 calc(10 * 100vw / 750);
        font-size: max(calc(17 * 100vw / 750),12px);
    }
    #box_coupon {
        padding: calc(60 * 100vw / 750) 0;
    }
    #box_coupon p{
        padding: 0 calc(10 * 100vw / 750);
        font-size: max(calc(17 * 100vw / 750),12px);
    }
    #box_complete dl {
        width: 80%;
        margin: calc(5 * 100vw / 750) auto calc(40 * 100vw / 750);
        padding: calc(20 * 100vw / 750);
    }
    #box_complete dt {
        margin: 0 0 calc(15 * 100vw / 750);
        font-size: max(calc(20 * 100vw / 750) , 14px);
    }
    #box_complete dd {
        font-size: max(calc(45 * 100vw / 750),28px);
        font-weight: bold;
    }
    #box_complete dd.expiry {
    margin-top: calc(35 * 100vw / 750);
    font-size: max(calc(17 * 100vw / 750),12px);
    }
    #box_complete ul li {
        font-size: max(calc(17 * 100vw / 750),12px);
    }
}
.pc {
    display: inherit;
}
.sp,
.sp_br {
    display: none;
}

@media screen and (max-width: 750px) {
    .pc {
        display: none;
    }
    .sp {
        display: inherit;
    }
}

@media screen and (max-width: 370px) {
    .sp_br {
        display: inherit;
    }
}


/* 注釈ボックス */
#box_form .kjoho_cautioun {
  margin-inline: auto;
    margin-bottom: calc(20* 100vw / 750);
  padding: calc(20* 100vw / 750) calc(28* 100vw / 750);
  font-size: calc(24 * 100vw / 750);
  line-height: 1.75;
  font-weight: bold;
  background: #FFEEEE;
  color: #ff0000;
}
#box_form .kjoho_cautioun a {
    margin: initial;
    width: initial;
  text-decoration: none;
  color: #ff0000;
}
#box_form .kjoho_cautioun a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 750px) {
#box_form .kjoho_cautioun {
    margin: 20px auto;
    padding: 20px 36px;
    font-size: 16px;
    width: 88%;
}
}