@charset "utf-8";
/* ---------------------------------------
   main
--------------------------------------- */
main {
    xxbackground-color: tomato;
    padding-top: 70px;
}

/* ---------------------------------------
   error_box
--------------------------------------- */
.error_box {
	margin:20px 0px;
}


.error_box ul {
	background-color:snow;
	border:1px solid pink;
	padding:7px 20px;
	padding-bottom:0px;
}

.error_box ul li {
	color:tomato;
	font-size:0.7em;
	margin-bottom:7px;
}

/* ---------------------------------------
   text_link
--------------------------------------- */
.text_link {
    position: relative;
    padding-left: 25px;
    margin: 10px 0px;
}

.text_link::before {
    content: '';
    position: absolute;
    border-top: solid 3px #1b1b4e;
    border-right: solid 3px #1b1b4e;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    left: 0px;
    top: 4px;
}

.text_link:hover {
    color: mediumblue;
    transition: 0.5s;
}

.text_link:hover::before {
    border-top: solid 3px mediumblue;
    border-right: solid 3px mediumblue;
    left: 6px;
    transition: 0.5s;
}


/* ---------------------------------------
   confirm_list
--------------------------------------- */
.confirm_list {
    xxbackground-color: red;
    xxborder-top: 1px solid lightgray;
    xxborder-left: 1px solid lightgray;
}

.confirm_list li {
    xxbackground-color: blue;
    xxmargin-bottom: 10px;
    xxborder-bottom: 1px solid lightgray;
    xxborder-right: 1px solid lightgray;
}

.confirm_list li dl {
    xxbackground-color: red;
    border-bottom: 1px solid black;
}

.confirm_list li dl dt {
    xxbackground-color: aliceblue;
    xxxborder-bottom: 1px solid black;
    padding: 15px 0px;
}

.confirm_list li dl dd {
    xxbackground-color: orange;
    padding-bottom: 20px;
    padding-left: 10px;
}


/* ---------------------------------------
   custom_contact_form
--------------------------------------- */
.custom_contact_form {
    xxbackground-color: red;
}

.custom_contact_form li {
    width: 100%;
    xxbackground-color: green;
}

.custom_contact_form li dl {
    display: flex;
    margin: 0px;
    margin-top: 20px;;
    margin-bottom: 20px;
}

.custom_contact_form li dl dt {
    width: 200px;
    border-top: 1px solid black;
    xxbackground-color: aqua;
    padding-top: 15px;
    padding-bottom: 15px;
}

.custom_contact_form li dl dt label {
    display: inline-block;
    font-size: 1.0rem;
    xxbackground-color: yellow;
    position: relative;
    padding-right: 15px;
}

.custom_contact_form li dl dt label::before {
    content: '*';
    position: absolute;
    color: red;
    xxfont-size: 0.5rem;
    top: 0;
    right: 0;
    xxbackground-color: yellowgreen;
}

.custom_contact_form li dl dt span.must {
    font-size: 0.5rem;
    color: red;
}

.custom_contact_form li dl dd {
    flex-grow: 1;
    padding-left: 20px;
    xxbackground-color: lightblue;
}

.custom_contact_form li dl dd input[type=text],
.custom_contact_form li dl dd input[type=email],
.custom_contact_form li dl dd input[type=tel],
.custom_contact_form li dl dd input[type=password],
.custom_contact_form li dl dd select,
.custom_contact_form li dl dd textarea {
    width: 100%;
    border: none;
    border: 1px solid gray;
    border-radius: 5px;
    padding: 10px 15px;
}

.custom_contact_form li dl dd input[readonly] {
    background-color: lightgrey;
}

@media screen and (max-width:480px) { 
    .custom_contact_form li {
        display: block;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .custom_contact_form li dl {
        display: block;
    }

    .custom_contact_form li dl dt {
        width: 100%;
        padding-right: 0px;
        xxmargin-bottom: 20px;
    }

    .custom_contact_form li dl dd {
        width: 100%;
        padding-left: 0px;
    }
}

.custom_contact_form select {
}

.custom_contact_form select option {
    font-weight: normal;
    display: block;
    white-space: nowrap;
    min-height: 1.2em;
    padding: 0px 2px 1px;
    xxfont-size: 10px;
    xxcolor: red;
}

/* ---------------------------------------
   submit_area
--------------------------------------- */
.submit_area {
    flex-wrap: wrap;
    justify-content: space-around;
}


.submit_btn {
    display: block;
    xxbackground-color: red;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
}

.submit_btn a,input[type=submit] {
    border: none;
    xxpadding: 10px 40px;
    width: 300px;
    height: 50px;
    line-height: 50px;
    border-radius: 3px;
}

.submit_btn a:hover,input[type=submit]:hover {
    cursor: pointer;
    transition: 0.5s;
}

.submit_btn a {
    display: inline-block;
}

.submit_btn .special_btn {
    background-color: #1b1b4e;
    border: 1px solid #1b1b4e;
    color: white;
}

.submit_btn .special_btn:hover {
    background-color: white;
    color: #1b1b4e;
}

.submit_btn .normal_btn {
    background-color: whitesmoke;
    border: 1px solid whitesmoke;
    color: rgb(75, 75 75);
}

.submit_btn .normal_btn:hover {
    background-color: white;
    border: 1px solid #1b1b4e;
    color: rgb(75, 75 75);
}

@media screen and (max-width:480px) { 
    .submit_btn {
        width: 120px;
    }
    .submit_btn a,input[type=submit] {
        width: 100%;
    }
}

/* ---------------------------------------
   user_info_summary
--------------------------------------- */
.user_info_summary {
    xxbackground-color: blue;
    border: 1px dashed gray;
    padding: 10px;
    margin: 10px 0px;
}

.user_info_summary li {
    color:rgb(75, 75 75);
    xxbackground-color: whitesmoke;
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 10px 10px;
    padding: 10px;
    padding-left: 36px;
}

/* ---------------------------------------
   icon_btn_list
--------------------------------------- */
.icon_btn_list {
    xxbackground-color: yellow;
    flex-wrap: wrap;
    margin: 10px 0px;
}

.icon_btn_list li {
    flex-grow: 1;
    width: 200px;
    background-color: green;
    margin-bottom: 10px;
    margin-right: 10px;
}

.icon_btn_list li a {
    color:rgb(75, 75 75);
    background-color: whitesmoke;
    border: 1px solid whitesmoke;
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 10px 10px;
    padding: 10px;
    padding-left: 36px;
}

.icon_btn_list li a:hover {
    background-color: white;
    border: 1px solid #1b1b4e;
    transition: 0.5s;
}

.icon_building {
    background-image: url('../img/icon/icon_building_75_75_75_256px.png');
}

.icon_head {
    background-image: url('../img/icon/icon_head_75_75_75_256px.png');
}

.icon_document {
    background-image: url('../img/icon/icon_document_75_75_75_256px.png');
}

.icon_folder {
    background-image: url('../img/icon/icon_folder_75_75_75_256px.png');
}

.icon_download {
    background-image: url('../img/icon/icon_download_75_75_75_256px.png');
}

.icon_client {
    background-image: url('../img/icon/icon_client_75_75_75_256px.png');
}

.icon_book {
    background-image: url('../img/icon/icon_book_75_75_75_256px.png');
}





/* ---------------------------------------
   footer
--------------------------------------- */
footer {
    background-color: black;
    margin-top: 15px;
}
.copyright_area {
    color: white;
    text-align: center;
    padding: 5px 0px;
    font-size: 8px;
}


/*
.text_en {
    font-family: 'Josefin Sans',sans-serif;
    font-size:12px;
    letter-spacing: 0.3em;
    text-align:center;
    font-weight: 300;
}




a.link_btn {
    display:block;
    position:relative;
    width:200px;
    height:40px;
    line-height: 40px;
    border-radius: 5px;
    color:white;
    letter-spacing: 0.3em;
    text-align:center;
    font-weight: 300;
    font-family: 'Josefin Sans',sans-serif;
    font-size:8px;
    
    xxbackground:linear-gradient(135deg,rgba(21,147,206,1) 0%,rgba(59,79,166,1) 100%);
    background-color: rgb(27, 27, 78);
    xxbackground-color: #0052b5;
    xxbox-shadow: 5px 5px #5bc8ac;
}

a.link_btn:before {
    content:'';
    background-color: #96acc5;
    height: 1px;
    width:64px;
    top:50%;
    right:-32px;
    position:absolute;
}

a.link_btn:hover {
    xxbackground:linear-gradient(135deg,rgb(21, 206, 144) 0%,rgb(28, 82, 55) 100%);
    background-color: #5bc8ac;
    box-shadow: 0px 0px #96acc5;
    transition: all 0.5s;
}

a.link_btn:hover:before {
    right:-24px;
    height: 1px;
    transition: all 0.5s;
    z-index:2;
    background-color: #0052b5;
}

a.link_btn span {
    z-index:1;
    position: relative;
    text-transform: uppercase;
}
*/



.acd_check {
    display: none;
}

.acd_label {
    display: block;
    width: 100%;
    xxpadding: 10px 0px;
    xxpadding-left: 10px;
    background-color: orange;
}

.acd_content {
    xxvisibility: hidden;
    display: none;
    xxbackground-color: yellow;
}

.acd_check:checked + .acd_label + .acd_content {
    xxvisibility: visible;
    display: block;
    transition: 0.5s;
}