/**//*/**/*/@charset "UTF-8";
/* CSS Document */

body {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
    padding: 0;
    margin: 0;
    }


h1{
    font-size: 24px;
    font-weight: normal;
    color: #09357f;
    padding: 0;
    margin-bottom: 10px;
    }

.container {
    width: 1000px;
    padding: 50px;
    margin: auto;
   /* border-top: solid 5px;*/
    }

a {
    text-decoration: none;
    color: #6872d0;
    }

/*　エラー表示　*/

.error-area {
    background-color: #FFE2E4;
    border-radius: 8px;
    color: #f00;
    padding:1em;
    }
.error-area p {
    padding: 0px;
    margin: 0 ;
    }
    
.error-area-inline {
	margin-top: 2px!important;
	padding: 0;
	}
	
.error {
	color:#ff0000; font-size: 14px; line-height: 120%
	}
	
/***** clearfx *****/

.clearfix:before,
.clearfix:after {
    content:"";
    display:table
    }
.clearfix:after { clear:both }

/*　テーブル　*/

h2{
    font-size: 18px;
    font-weight: normal;
    color: #777;
    padding: 8px 0;
    margin-bottom: 10px;
    }

table {
    border-top: solid 1px #b2c2d7;
    border-bottom: solid 1px #b2c2d7;
    color: #333;
    font-size: 16px;
    margin-bottom: 30px;
    }
table th,
table td {
    border-bottom: dotted 1px #ccc;
    padding: 15px 20px;
    }
table tr:last-child th,
table tr:last-child td {border-bottom: none;}
table tr:nth-child(even) {background-color: #fafafa;}
table th {
    width: 30%;
    background-color: rgba(188,220,244,0.15);
    text-align: left;
    font-weight: normal;
    }
table td {width: 70%;}

table th {position: relative;}
.label-essential {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: block;
    background-color: #ca2a10;
    color: #fff;
    font-size: 11px;
    line-height: 16px;
    height: 16px;
    letter-spacing: 1px;
    border-radius: 3px;
    padding: 0 4px;
    margin: auto;
    }


/*　フォーム　*/

input,
select {
    display: block;
    border: 1px solid #C4CCCE;
    border-radius:3px;
    box-shadow:none;
    font-size: 16px;
    color: #333;
    width: calc(100% - 22px);
    line-height: 1.5;
    height: 30px;
    padding: 6px 10px;
    margin: 0px;
    }
input:focus,
select:focus,
textarea:focus{
    outline: none;
    border: 1px solid #3c8dbc;
    box-shadow:none;
    }
::placeholder {
    color:#bbb;
    font-size: 16px;
    font-weight: normal;
    }

td.row{
    display: flex;
    gap: 10px;
    width: calc(100% - 20px)!important;
    }
	
div.row{
    display: flex;
    gap: 10px;
    /*width: calc(100% - 20px)!important;*/
    }
	
input.harf {width: calc(100% / 2 - 50px / 2);}
input.short {width: calc(100% / 3 - 50px / 3);}
td.phone input {
    display: inline-block;
    width: 100px;
    }
.address div + div {margin-top: 10px;}
select{
    width: 66.6%;
    height: 42px;
    background-color: #fff;
    }
.choice input {
    display: inline-block;
    height: 18px;
    width: 40px;
    vertical-align: middle;
    }
.choice div + div {margin-top: 10px;}
textarea {
    width: calc(100% - 22px);
    height: 6em;
    display: block;
    border: 1px solid #C4CCCE;
    border-radius:3px;
    box-shadow:none;
    font-size: 16px;
    padding: 6px 10px;
    }
p.mini {
    font-size: 14px;
    margin: 15px 0 0;
    }

.btn {
    color: #fff;
    border: none;
    text-align: center;
	text-shadow: none;
	cursor : pointer;
    border-radius: 4px;
    letter-spacing: 1px;
    margin: 20px auto 0;
    }
.btn-decision {
	background-color: #f64;
	width: 50%;
	height: 60px;
	font-size: 18px;
	}
.btn-back {
	background-color: #92a3b7;
	width: 40%;
	height: 40px;
    line-height: 40px;
	font-size: 15px;
	}
.btn-back a {color: #fff;}
input.btn{line-height:initial}

.center {text-align: center;}
.center + .center {margin-top: 24px;}

.photo-thumb {
	display: block;
	max-width: 240px;
	max-height: 240px;
	width: auto;
	height: auto;
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-bottom: 8px;
	}

/*　エラーページ　*/

.error h2 {color: #ff0000;}
.error h3 {
    font-weight: normal;
    color: #333;
    font-size: 17px;
    }


/******************************************************************************************/


@media (max-width: 1118px) {

.container {
    width: calc(100% - 60px);
    padding: 30px;
    }

}


/******************************************************************************/


@media (max-width: 840px) {


/*　フォーム　*/

td.phone input {
    width: 20%;
    }

}


/******************************************************************************/


@media (max-width: 600px) {

.container {
    width: calc(100% - 60px);
    padding: 30px;
    }

/*　テーブル　*/

table th,
table td{
    display: block;
    width: calc(100% - 40px);
    }
table tr:nth-child(even) {background-color: initial;}
table th {border: none;}

/*　フォーム　*/

input.harf{width: calc(100% - 22px);}
select {width: 100%;}
input.short {width: calc(100% / 2 - 50px / 2);}

.btn-decision {width: 70%;}
.btn-back {width: 60%;}

}


/******************************************************************************/

@media (max-width: 480px) {

.container {
    width: calc(100% - 30px);
    padding: 15px;
    }

/*　テーブル　*/

table th,
table td {
    width: calc(100% - 30px);
    padding: 10px 15px;
    }

/*　フォーム　*/

td.row {
    display: flex;
    gap: 10px;
    width: calc(100% - 30px)!important;
    }

input.harf {width: calc(100% - 17px);}
input.short {width: calc(100% / 2 - 40px / 2);}

}





