@charset "utf-8";

#popular{
    padding-top: 15px;
}

.form_container{
    width: 800px;
    margin: auto;
    position: relative;
}

#popular .title{
    font-size: 18px;
    font-weight: bold;
    color: #4baa34;
    margin-bottom: 10px;
    border-bottom: 0;
}

input[name="popular"]{
    display: none;
}

input[name="popular"] + label{
    position: relative;
    display: inline-flex;
    font-size: small;
    border-radius: 5px;
    margin-bottom: 7px;
    margin-right: 5px;
    border: 2px solid #eeeeee;
    width: 100%;
    min-height: 50px;
    /* color: dimgray; */
    /* padding: 5px; */
    align-items: center;
    font-weight: bold;
}

div#popular_btn {
    /* columns: 5; */
}

input[name="popular"]:active + label{
    background: #e5f7e1;
    border: 2px solid #add3a4;
}

#tyui_top1, #tyui_top2 {
    padding: 10px 0 10px 0;
    font-size: 18px;
    font-weight: bold;
    color: #4baa34;
}

#tyui_top1 span{
    color: #e83929;
}

#notice_top {
    padding: 10px 0 10px 0;
    font-size: 18px;
    color: #808080;
}

#icon_desc{
    margin-bottom: 20px;
}

#icon_desc li{
    font-size: 17px;
    margin-bottom: 10px;
}

#icon_desc li span{
    vertical-align: middle;
    margin-right: 10px;
}

#icon_desc li span img{
    vertical-align: bottom;
}

#icon_desc .senyou .sp,
#icon_desc .sougou .sp{
    display: none;
}

#desc-text01{
    font-size: 14px;
    margin-top: 30px;
    line-height: 20px;
}

.form_wrapper{
    box-sizing: border-box;
    width: 980px;
    padding: 40px 0 0 0;
    margin: auto;
    font-size: 14px;
    color: #333333;
}

.form_wrapper,
.form_wrapper tbody,
.form_wrapper th,
.form_wrapper tr,
.form_wrapper td{
    display: block;
}

.form_wrapper th{
    text-align: left;
    color: #333333;
    font-size: 32px;
    padding-left: 90px;
    padding: 12px 0 12px 70px;
    position: relative;
}

.form_wrapper th span.first-letter{
    color: #4baa34;
}

.form_wrapper th img{
    margin-right: 15px;
    vertical-align: bottom;
}

.form_wrapper th span.tyui{
    font-size: 14px;
    color: #e83929;
    text-align: left;
    position: absolute;
    width: 45%;
    bottom: 17px;
    right: 0;
}

.form_wrapper tr:last-child th{
    display: none;
}

.form_wrapper td{
    padding-left: 90px;
}


.form_wrapper .tdItem{
    padding-bottom: 45px;
}

.form_wrapper tr:last-child td{
    padding-left: 0;
}

.form_wrapper tr:last-child .tdItem{
    background: #e5f7e1;
    padding: 15px 90px;
    position: relative;
    margin-top: 30px;
}

.form_wrapper tr:last-child .tdItem:before{
    content: url(../img/balloon.jpg);
    width: 300px;
    height: 50px;
    position: absolute;
    top: -50px;
}

.form_wrapper tr:last-child .tdItem .sougou{
    display: table;
}

.form_wrapper tr:last-child .tdItem .sougou div{
    display: table-cell;
    width: 30%;
    vertical-align: middle;
    font-size: 16px;
}

.form_wrapper tr:last-child .tdItem .sougou div label{
    width: auto;
}

.form_wrapper tr:last-child .tdItem .sougou p{
    width: 70%;
    display: table-cell;
    vertical-align: middle;
    font-size: 13px;
    line-height: 18px;
}

.form_wrapper td ul{
    padding-top: 20px;
}

.form_wrapper td ul li{
    width: 33.3%;
    float: left;
    margin-bottom: 12px;
}

/*---20170331今村追加---*/
.form_wrapper td ul li span.pc{
  font-size: 16px;
}
/*---20170331今村追加---*/


.form_wrapper .tdItem input{
    vertical-align: middle;
}

.form_wrapper .tdItem label{
    padding-left: 10px;
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    line-height: 20px;
    width: 85%;
    font-size: 13px;
}

.form_wrapper .tdItem .icon{
    display: inline-block;
    margin-left: 5px;
}

.form_wrapper .tdItem .icon.senyou .pc{
    width: 33px;
    height: auto;
    vertical-align: top;
}

.form_wrapper .tdItem .icon.category .pc{
    width: 42px;
    height: auto;
    vertical-align: top;
}

.form_wrapper .tdItem .icon.sougou .pc{
    width: 33px;
    height: auto;
    vertical-align: top;
}
.form_wrapper .tdItem .icon .sp,.form_wrapper .tdItem span.sp{
    display: none;
}

#tyui_sp{
    font-size: 14px;
    line-height: 20px;
}

.form_submit.step01{
    width: 300px;
}

#tyui_bottom{
    display: none;
    padding: 30px 0 10px 0;
    font-size: 18px;
    font-weight: bold;
    color: #4baa34;
    text-align: center;
}

#tyui_bottom span{
    color: #e83929;
}
div.split_column{
    display:flex;
}
@media only screen and (max-width: 980px){
    .form_wrapper{
        width: 100%;
    }

    .form_wrapper th,
    .form_wrapper td{
        padding-left: 0;
    }

    .form_wrapper th:before{
        display: none;
    }

}

label:hover{
	cursor:pointer;
}

@media only screen and (max-width : 799px) {


    #popular{
        padding: 20px 5px 10px 5px;
        display: block;
    }

    #icon_desc li {
        font-size: 17px;
        margin-bottom: 10px;
        text-indent: -60px;
        margin-left: 60px;
    }

    #icon_desc .icon{
        display: inline-block;
    }

    #icon_desc .icon .pc{
        display: none;
    }

    #icon_desc .icon .sp{
        display: block;
        height: 25px;
        width: auto;
    }

    .form_wrapper{
        font-size: 20px;
        padding-top: 0px;
    }

    .form_wrapper th{
        padding: 15px 20px;
        font-size: 20px;
        /* border-bottom: 1px solid #e5f7e1; */
        position: relative;
    }

    .form_wrapper th span.first-letter{
        color: #333333;
    }

    .form_wrapper tr:nth-child(2){
        border-top: 1px solid #e5f7e1;
    }

    .form_wrapper th:after{
        content: "";
        background: url(../img/ac_arrow.png) no-repeat;
        background-size: 20px auto;
        width: 20px;
        height: 13px;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 20px;
        background-position: 0% 100%;
    }

    .form_wrapper th.open:after{
        background-position: 0% 0%;
    }

    .form_wrapper th img{
        vertical-align: middle;
        margin-right: 10px;
    }

    .form_wrapper th span.tyui{
        display: none;
    }

    .form_wrapper .tdItem{
        padding: 0;
    }


    .form_wrapper ul{
        background: #fff;
    }

    .form_wrapper td.tdItem ul{
        padding: 20px;
    }

    .form_wrapper td.tdItem ul li{
        float: none;
        width: 100%;
        display: block;
        color: #333333;
        font-size: 18px;
        margin-bottom: 15px;
    }


    .form_wrapper tr:last-child .tdItem{
        margin-top: 70px;
        padding: 0 20px;
    }

    .form_wrapper tr:last-child .tdItem .sougou p{
        display: block;
        width: 100%;
        padding-bottom: 20px;
        font-size: 18px;
        line-height: 25px;
    }

    .form_wrapper tr:last-child .tdItem .sougou div{
        width: 100%;
        float: none;
        text-align: left;
        font-size: 20px;
        color: #4baa34;
        font-weight: bold;
        padding: 15px 0;
        display: block;
    }

    .form_wrapper .tdItem label{
        padding-left: 15px;
        line-height: 25px;
        font-size: 17px;
    }

    .form_wrapper .tdItem .icon{
        vertical-align: middle;
    }

    .form_wrapper .tdItem .icon .pc,.form_wrapper .tdItem span.pc{
        display: none;
    }

    .form_wrapper .tdItem span.sp{
        display: inline-block;
    }

    .form_wrapper .tdItem .icon .sp{
        display: block;
        height: 25px;
        width: auto;
    }

    #tyui_sp{
        display: block;
        font-size: 14px;
        margin-bottom: 20px;
    }

    #tyui_sp span{
        display: block;
        color: #e83929;
        margin-top: 15px;
    }

    #tyui_bottom{
        /*display: block;*/
    }

    .form_submit.step01{
        /*margin-top: 0;*/
    }

    div.split_column{
        display:block;
    }

}
input.search_window {
    width: 70%;
    max-width: 500px;
    margin: 15px;
    height: 40px;
    border-radius: 16px;
    padding-left: 10px;
    font-size: large;
    box-shadow: 0 0 8px lightgrey;
    border: solid 1px;
    border-color: lightgray;
}

.hidden {
  display: none
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 14px;
    line-height: 1;
    z-index: 99;
  }
  #page-top a {
    background: green;
    text-decoration: none;
    color: #fff;
    width: 60px;
    padding: 28px 5px;
    text-align: center;
    display: block;
    border-radius: 90px;
    opacity: 0.9;
    transition: all .3s ease;
    font-size: larger;
  }

@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */

}

@media only screen and (max-width: 40em) {

    #page-top a {
        margin-bottom: 130px;
    }
    .form_container {
        width: auto;
    }

    div#popular_btn {
        /* columns: 3; */
        /* align-items: center; */
        /* align-self: center; */
        /* text-align: center; */
    }

    div.header_category {
        width: 100% !important;
    }

    .category_img {
    margin: 5px !important;
}

input[name="popular"] + label{
    position: relative;
    display: inline-flex;
    font-size: xx-small;
    border-radius: 5px;
    margin-bottom: 5px;
    margin-right: 5px;
    border: 2px solid #eeeeee;
    width: 112%;
    min-height: 50px;
    /* color: dimgray; */
    /* padding: 5px; */
    align-items: center;
    font-weight: bold;
}

li.item-list {
    display: inline-flex;
    width: 33%;
}

 } /* 最大幅640px、スマホ専用のスタイル */

@media screen and (min-width: 960px) {
	/* 960px以上に適用されるCSS（PC用） */
    #page-top a:hover {
        text-decoration: none;
        opacity: .5;
      }
      li.item-list {
    display: inline-flex;
    width: 20%;
}
}

@media only screen and (min-width: 40.063em) and (max-width: 64em) {

    li.item-list {
    display: inline-flex;
    width: 20%;
}

 } /* 最小幅641pxおよび最大幅1024px、タブレット専用のスタイル */

@media screen and (max-width: 959px) {
	/* 959px以下に適用されるCSS（タブレット用） */
    #page-top a {
        margin-bottom: 130px;
    }
}
th#th_01, label.th_01 {
    background: #FEF4EF;
}

th#th_02, label.th_02 {
    background: #FEF4F8;
}

th#th_03, label.th_03 {
    background: #F2F9EE;
}

th#th_04, label.th_04 {
    background: #F7F9ED;
}

th#th_05, label.th_05 {
    background: #FEF0F0;
}

th#th_06, label.th_06 {
    background: #F0FAFA;
}

th#th_07, label.th_07 {
    background: #d9f1e4;
}

th#th_08, label.th_08 {
    background: #FDF8EC;
}

th#th_09, label.th_09 {
    background: #F9F2F8;
}

th#th_10, label.th_10 {
    background: #F9F3EE;
}

th#th_11, label.th_11 {
    background: #F1F5FA;
}

th#th_12, label.th_12 {
    background: #f6eff8;
}
th#th_13, label.th_13 {
    background: #f6f4f0;
}

div.img_center {
/*     position: absolute; */
    margin-top: 10px;
    margin-right: 3px;
}
div.msg_center {
    width: 100%;
    text-align: center;
/*     position: absolute; */
    margin-top: 13.5px;
}
div.header_category {
    width: 980px;
    margin: auto;
    position: relative;
}

.category_img {
    margin: 10px;
}
