@charset "utf-8";

/* info/styleより */
.contents_wrap{
    max-width: 768px;
    margin: auto;
    padding: 15px;
}
.txt_box p{
    line-height: 1.8;
    margin: 0 0 10px;
}

/* ボタン
----------------------------------------------- */
.index footer .back_to_top,
.index footer .inquiry_wrap,
.index footer .footer_inner,
.confirm footer .back_to_top,
.confirm footer .inquiry_wrap,
.confirm footer .footer_inner{
    display: none;
}
.contents .note,
.contents .notes {
    font-size: 12px;
    line-height: 1.3;
}
.contents em {
    font-style: normal;
    font-weight: bold;
}
.pc_br {
    display: none;
}
/* ボタン
----------------------------------------------- */
.cv_wrap {
    text-align: center;
    padding:0 15px;
}
.cv_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 10px;
    padding: 13px 10px;
    border-radius: 50px;
    background: #FC3F0C;
    box-shadow: 0 3px 0 #e73606;
    width:100%;
    max-width:650px;
    transition: .3s;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    font-size: 24px;
}
.cv_btn:hover {
    opacity: .8;
}
.cv_btn span{
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background: #fff;
    color: #f00;
    font-size: 0.938em;
    font-weight: bold;
    line-height: 40px;
    margin-right: 10px;
}
.cv_btn p{
    font-size: 1.25em;
    font-weight: bold;
    line-height: 1.3;
}
a.back_btn{
    display:block;
    text-decoration:none;
    color:#333;
    background-color:#efefef;
    border-radius:10px;
    padding:10px;
    text-align:center;
}

/* pr area */
.contents_wrap figure {
    text-align: center;
    margin: 0 0 20px;
}
.contents_wrap figure img {
    margin: auto;
    width: 100%;
}
.contents_wrap .video_box,
.contents_wrap .txt_box{
    margin: 0 0 30px;
}
/*フォーム
----------------------------------------------- */
.form_area{
    margin:0 auto 60px;
}
.form_area form{
    max-width:800px;
    margin:auto;
    padding:0 15px;
}
.form_area .speech_main_ttl {
    display: block;
    position: relative;
    margin: 0 auto 20px;
    background: #3A4A7D;
    color: #fff;
    font-size: 21px;
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
    padding: 20px;
}
.form_area .speech_main_ttl::after {
    content: "";
    position: absolute;
    left: calc(50% - 6px);
    border: 12px solid transparent;
    bottom: -25px;
    border-top: 14px solid #3A4A7D;
    z-index: 1;
}
.form_area .intro {
    position: relative;
    color: #fff;
    font-size: min(6.5vw, 28px);
    font-weight: bold;
    margin-bottom: 30px;
    background: #223d51;
    text-align: center;
    padding: 10px 10px 12px;
}
.form_area .intro::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-top: 13px solid #223d51;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    transform: translateX(-50%);
}
.form_area .btn_speech{
    text-align: center;
    font-size: min(6.5vw, 28px);
    font-weight: bold;
    color: #FC3F0C;
    margin-bottom: 10px;
}
.form_area .general_inner>dt {
    background: #ededed;
    padding: 10px 20px;
    border-radius: 10px;
}
.form_area .general_inner>dt em {
    font-weight: bold;
}
.form_area .must {
    color: #FC0E0E;
    border: 1px solid #FC0E0E;
    background: #fff;
    padding: 0 5px;
    margin-left: 5px;
    border-radius: 5px;
    font-size: 0.75em;
    display: inline-block;
}
.form_area label em{
    color: #FC0E0E;
}
.form_area .input-type_radio input[type="radio"] {
    display: none;
}
.general_inner.input-type_radio dd {
    border-bottom: 1px solid #d1d1d1;
    margin: 0 10px 10px;
    padding: 10px;
}
.general_inner.input-type_radio dd > p:not([class]){
    margin-bottom: 10px;
    font-weight: bold;
}
.general_inner.input-type_radio dd > p em{
    color: #e73606;
}
.general_inner.input-type_radio dd:last-child {
    border: 0;
}
.form_area .input-type_radio label{
    position: relative;
    display: block;
    width: fit-content;
    padding: 7px 7px 7px 45px;
}
.form_area .input-type_radio label::before,
.form_area .input-type_radio label::after {
    position: absolute;
    display: block;
    content: "";
}
.form_area .input-type_radio label::before {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    border: 1px solid rgba(109, 109, 109, 0.4);
    background-color: #fff;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}
.form_area .input-type_radio input[type="radio"]:checked+label::after {
    border-left: 3px solid #fc3f0c;
    border-bottom: 3px solid #fc3f0c;
    width: 18px;
    height: 9px;
    transform: rotate(-45deg);
    left: 13px;
    top: 50%;
    margin: -9px 0 0 0;
}
.form_area .customer {
    padding: 10px 0;
}
.form_area .customer li {
    list-style: none;
    margin: 0 0 15px;
}
.form_area .customer li label {
    display: inline-block;
    position: relative;
    margin: 0 0 5px;
}
.form_area .error_txt {
    color: #f00;
    font-size: 0.875em;
}
.form_area .customer li input {
    display: block;
    width: 100%;
    max-width: 400px;
    border-radius: 5px;
    border: 1px solid #d1d1d1;
    padding: 5px;
}
.privacy_area>p {
    padding: 10px 0;
    font-size: 0.875em;
}
.form_area .privacy_txt {
    height: 140px;
    overflow: auto;
    margin: 0 0 20px;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #75777b;
    font-size: 0.813em;
    line-height: 1.5;
    padding: 8px;
}
.mv .fb-share-button {
    position: absolute;
    top: 15px;
    right: 15px;
}
.contents>.fb-share-button {
    position: absolute;
    bottom: 15px;
    right: 15px;
}
/*フォーム 確認画面*/

.contents.confirm {
    width:100%;
    max-width: 500px;
    margin: auto;
}
.confirm h1 {
    font-size: 26px;
    text-align: center;
    margin: 0 auto 20px;
    padding-top: 40px;
}
.confirm dt {
    background: #ededed;
    padding: 10px;
    margin-bottom: 10px;
}
.confirm .customer li {
    list-style: none;
    padding: 10px;
}
.confirm .customer li>p {
    display: inline-block;
}
.confirm .customer_ttl::after {
    content: ":";
}
.confirm .general_inner .date {
    padding: 10px;
}
.confirm .btn_area {
    display: flex;
    padding: 20px;
    align-items: center;
    justify-content: center;
}
.confirm .btn_area a {
    padding: 20px;
    border-radius: 10px;
    height: 75px;
}
.confirm .btn_area a.back_btn {
    background: #e6e5e5;
    color: #333;
    margin: 0 20px 0 0;
    font-weight:bold;
    width: 90px;
}
.confirm .btn_area a.send_btn {
    color: #fff;
    font-size: 1.5em;
    background: #fc3f0c;
    box-shadow: 0 4px 0 #a72b0a;
    width: calc(100% - 90px);
    text-align: center;
    font-weight: bold;
}
.confirm header {
    display: none;
}
.confirm .contents {
    padding: 0;
    max-width: 850px;
    margin: auto;
}
.confirm footer small {
    background: #fff;
}
.thanks .contents {
    padding: 15px;
    max-width: 650px;
    margin: 0 auto 20px;
}
.thanks .contents h1 {
    text-align: center;
    margin: 30px 0;
    font-size: 26px;
}
.thanks .customer_wrap{
    margin: 0 0 10px;
}
.thanks .txt_wrap p:not([class]) {
    margin-bottom: 20px;
}

/* 画面サイズ別
----------------------------------------------- */
/* タブレット縦以上 */
@media screen and (min-width: 768px) {
    .index .txt_box p{
        text-align: center;
    }
    .cv_btn.main{
        padding: 20px 10px;
        font-size: 26px;
    }
    .form_area .intro {
        padding: 15px;
    }
    .form_area .general_inner dd .wrap {
        display: flex;
        justify-content: space-between;
    }
    .form_area .customer {
        max-width:400px;
        margin:auto;
    }
    .privacy_area>p {
        text-align: center;
    }
}
