@charset "UTF-8";

/*com_form
---------------------------------------------------------*/
.com_form .required{
	color: #e94d2f;
}
.com_form .tbl_txt {
	text-align: right;
	margin-bottom: 1.0em;
}
.com_form .tbl_form {
	width: 100%;
}
.com_form .tbl_form tr,
.com_form .tbl_form th,
.com_form .tbl_form td {
	text-align: left;
}
.com_form .tbl_form tr {
	width: 100%;
	box-sizing: border-box;
}
.com_form .tbl_form th {
    position: relative;
	width: 28.8%;
    padding-left: 4%!important;
}
.com_form .tbl_form td {
	width: 71.2%;
    padding-right: 4%!important;
}
.com_form .tbl_form tr:nth-child(odd) th,
.com_form .tbl_form tr:nth-child(odd) td{
    background: rgba(242,149,131,0.15);
}
.com_form .tbl_form tr th,
.com_form .tbl_form tr td{
    font-size: 110%;
    line-height: 1.5em;
    box-sizing: border-box;
    letter-spacing: .1em;
    padding: 2em 0;
    vertical-align: middle;
}
.com_form .tbl_form tr.ver_top th,
.com_form .tbl_form tr.ver_top td{
    vertical-align: top;
}
.com_form .tbl_form tr th span{
    display: inline-block;
    vertical-align: middle;
}

/* テキストボックス */
.com_form .max_txt {
	width: 100%;
    max-width: 700px;
    height: 8em;
}
.com_form .middle_txt {
	width: 100%;
	max-width: 700px;
}
.com_form .age_txt{
	width: 4em;
}
.com_form .post_code{
	width: 8em;
}
.com_form .address_txt{
	width: 100%;
	max-width: 700px;
	margin-top: 0.5em;
}
.com_form .attention {
    font-size: 88%;
	margin-top: 1em;
	line-height: 1.4em;
	margin-bottom: .5em;
}
.com_form .attention.btm_0{
	margin-bottom: 0;
}
.com_form input.txt_l{
	margin-right: 0.6em;
}
.com_form input.txt_r{
	margin-left: 0.6em;
}
/* ラジオボタン */
.com_form .radio_list {
	display: flex;
    flex-wrap: wrap;
}
.com_form .radio_list li {
	margin-right: 4.5em;
}
.com_form .radio_list li:last-child {
	margin-right: 0;
}
.com_form .radio_list.type2 li {
	margin-right:3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_form .tbl_txt {
	margin-bottom: .5em;
}
.com_form .tbl_form th {
    padding-left: 3%!important;
}
.com_form .tbl_form td {
    padding-right: 3%!important;
}
.com_form .tbl_form tr th,
.com_form .tbl_form tr td{
    font-size: 105%;
    letter-spacing: .05em;
    padding: 1.5em 0;
}

/* テキストボックス */
.com_form .attention {
	margin-bottom: .3em;
}

/* ラジオボタン */
.com_form .radio_list li {
	margin-right: 2.5em;
}
.com_form .radio_list.type2 li {
	margin-right: 1.5em;
}
}

/* Mobile
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_form .tbl_txt {
	margin-bottom: .5em;
}
.com_form .tbl_form tr,
.com_form .tbl_form th,
.com_form .tbl_form td {
	display: block;
}
.com_form .tbl_form th {
	width: 100%;
    padding: 1.5em 4% .5em!important;
}
.com_form .tbl_form td {
	width: 100%;
    padding: 0 4% 2em!important;
}
.com_form .tbl_form tr th,
.com_form .tbl_form tr td{
    font-size: 100%;
    line-height: 1.5em;
    letter-spacing: .05em;
}

/* テキストボックス */
.com_form .max_txt {
    height: 10em;
}
.com_form .attention {
	margin-bottom: .3em;
    letter-spacing: normal;
}

/* ラジオボタン */
.com_form .radio_list li {
	margin-right: 2em;
}
.com_form .radio_list.type2{
    margin-bottom: -0.4em
}
.com_form .radio_list.type2 li {
	margin-right: 2em;
    margin-bottom: .4em;
}
}





/* 入力項目デザイン
-----------------------------------------------------------------------------*/
/********************/
/* テキストボックス */
/********************/
.com_form input[type="text"] {
	padding: .8em 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
    border:1px solid #9C9992;
	font-size: 18px;
	letter-spacing: .1em;
	outline: none;
	border-radius: 5px;
	-webkit-appearance: none;
}
.com_form textarea {
	height: 10em;
	padding: .8em 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
    border:1px solid #9C9992;
	font-size: 18px;
	letter-spacing: .1em;
	outline: none;
	border-radius: 5px;
	-webkit-appearance: none;
}

/****************/
/* ラジオボタン */
/****************/
.com_form input[type=radio], .com_form input[type=checkbox] {
	display: inline-block;
	font-size: 100%;
	letter-spacing: normal;
}
.com_form input[type=radio] + label, .com_form input[type=checkbox] + label {
	position: relative;
	display: inline-block;
	font-size: 100%;
	cursor: pointer;
}

@media (min-width: 1px) {
.com_form input[type=radio], 
.com_form input[type=checkbox] {
	/*display: none;*/
	position: absolute;		/* 上に別の要素が乗るようにする */
	z-index: -1;			/* 最背面にする */
	pointer-events: none;	/* クリック無効 */
	visibility: hidden;		/* 非表示 */
	margin: 0;
}
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	padding: 0 0 0 30px;
}
.com_form input[type=radio] + label::before, 
.com_form input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	left: 0;
	box-sizing: border-box;
	display: block;
	width: 20px;
	height: 20px;
	background: #fff;
	border: #9C9992 1px solid;
}
.com_form input[type=radio] + label::before {
	top: 3px;
	border-radius: 50%;
}
.com_form input[type=checkbox] + label::before {
	top: .3em;
	border-radius: 3px;
}
.com_form input[type=radio]:checked + label::after, 
.com_form input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
.com_form input[type=radio]:checked + label::after {
	left: 4px;
	top: 7px;
	margin: auto;
	width: 12px;
	height: 12px;
	background: #f06b4b;
	border-radius: 50%;
}
.com_form input[type=checkbox]:checked + label::after {
	top: .3em;
	left: .2em;
	width: 1.2em;
	height: .6em;
	border-left: 3px solid #f06b4b;
	border-bottom: 3px solid #f06b4b;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
}

/****************/
/* セレクトボックス */
/****************/
.com_form select {
	/* デフォルトのスタイルを解除 */
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	/* スタイル */
	display: inline-block;
	width: 100%; /* 幅 */
	max-width: 180px; /* 最大幅 */
	padding: 0.5em 1.5em 0.5em .8em; /* 文字周りの余白 */
	cursor: pointer; /* カーソルを指に */
	line-height: 1.4; /* 行高 */
	font-size: 100%;  /*フォントサイズ */
	border-radius: 5px; /* 角丸 */
	background-color: #fff; /* 背景色 */
	border: solid 1px #9C9992; /* 枠線 */
	/* 三角マークを作る */
	background: url("../images/rec_dr/icon_select.svg")no-repeat top 50% right .5em;
	background-size: .6em;
	color: #3a3326!important;
}
/* フォーカス時 */
.com_form select:focus {
	outline: 0;
	border-color: #b0c5ff; /* 枠線色を変更 */
}
/* IEでデフォルトの矢印を消す */
.com_form select::-ms-expand {
  display: none;
}
/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	-webkit-appearance: none;
	width: 100%;
	height: 3.8em;
	border: none;
	cursor: pointer;
	padding-right: 2.5em;
	font-size: 110%;
	letter-spacing: .1em;
	line-height: 1.0em;
	background-color: #f29583;
	background-image: url(../images/rec_arrow.svg);
	background-repeat: no-repeat;
	background-position: right 2.5em center;
	background-size: 1.8em auto;
    color: #fff;
	font-family: "shippori-mincho", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.com_form input[type="reset"]{
    background-image: none!important;
    padding-right: 0!important;
}
.com_form input[type="button"], .com_form input[type="reset"] {
	background-color: #c9beab;
	/*background-image: url("../images/contact/arrow_g@2x.png");*/
}
.com_form .submit_box li:last-child input {
	background-position: 90% center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/********************/
/* テキストボックス */
/********************/
.com_form input[type="text"] {
	padding: .6em 1em;
	font-size: 15px;
	letter-spacing: .05em;
}
.com_form textarea {
	padding: .6em 1em;
	font-size: 15px;
	letter-spacing: .05em;
}

/****************/
/* ラジオボタン */
/****************/
@media (min-width: 1px) {
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	padding: 0 0 0 25px;
}
.com_form input[type=radio] + label::before {
	top: 1.5px;
}
.com_form input[type=radio]:checked + label::after {
	top: 5.5px;
}
}

}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/********************/
/* テキストボックス */
/********************/
.com_form input[type="text"] {
	padding: .6em;
	font-size:4vw;
	letter-spacing: .05em;
}
.com_form textarea {
	padding: .6em;
	font-size:4vw;
	letter-spacing: .05em;
}
    
/****************/
/* ラジオボタン */
/****************/
@media (min-width: 1px) {
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	padding: 0 0 0 1.6em;
}
.com_form input[type=radio] + label::before, 
.com_form input[type=checkbox] + label::before {
    letter-spacing: 0;
    line-height: 1em;
	width: 1.3em;
	height:1.3em;
}
.com_form input[type=radio] + label::before {
	top: .15em;
}
.com_form input[type=radio]:checked + label::after {
    letter-spacing: 0;
    line-height: 1em;
	left: .28em;
	top: .4em;
	width: .8em;
	height: .8em;
}
}
    
/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	padding-right:0;
	background-position: right 1em center;
}
	
.com_form .submit_box li:last-child input {
	background-position: right 1em center!important;
}
}



/* 個人情報
------------------------------------------------------------------------*/
.com_form .privacy {
	width: 100%;
	margin: 0 auto;
	border:4px solid #ebf6f7;
}
.com_form .privacy h3 {
	color: #008cc2;
	text-align: center;
    letter-spacing: 0.1em;
    padding: 35px 1em;
    box-sizing: border-box;
	cursor: pointer;
}
.com_form .privacy h3 > span {
	display: inline-block;
	padding-right: 2.0em;
	position: relative;
}
.com_form .privacy h3 .icon_open {
	display: block;
	letter-spacing: normal;
	line-height: 1.0em;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: #008cc2;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-55%);
}
.com_form .privacy h3 .icon_open::before,
.com_form .privacy h3 .icon_open::after {
	content: "";
	position: absolute;
	width: .6em;
	height: 1px;
	background: #fff;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.6s;
}
.com_form .privacy h3 .icon_open::after {
	transform: translateY(-50%) rotate(90deg);
}
.com_form .privacy h3.close_btn .icon_open::after {
	transform: translateY(-50%) rotate(0deg);
}
.com_form .privacy .open_box {
    padding: 0 6.5% 50px;
    box-sizing: border-box;
	letter-spacing: .05em;
}
.com_form .privacy .flex_box {
	margin-top: 30px;
	display: flex;
    justify-content: space-between;
}
.com_form .privacy .flex_box dl {
	width: 47%;
    max-width: 500px;
}
.com_form .privacy dt {
	color: #008cc2;
	font-size: 110%;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-bottom: .5em;
}
.com_form .privacy p,
.com_form .privacy dd{
    font-size:88%;
    letter-spacing: 0.12em;
    line-height: 1.8em;
}
.com_form .privacy dd li {
	text-indent: -1em;
	margin-left: 1em;
	line-height: 1.6em;
	margin-bottom: .5em;
}
.com_form .privacy dd li:last-child {
	margin-bottom: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_form .privacy h3 {
    padding: 1.5em 1em;
}
.com_form .privacy .open_box {
    padding: 0 3% 4%;
	letter-spacing: normal;
}
.com_form .privacy .flex_box {
	margin-top: 4%;
}
.com_form .privacy p,
.com_form .privacy dd{
    letter-spacing:0.05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_form .privacy h3 {
    padding: 1em .5em;
}
.com_form .privacy .open_box {
    padding: 0 4% 5%;
	letter-spacing: normal;
}
.com_form .privacy .flex_box {
	margin-top: 0;
	display: block;
}
.com_form .privacy .flex_box dl {
	width: 100%;
    margin-top: 2em;
}
.com_form .privacy dt {
    font-size:105%;
	letter-spacing: .1em;
    margin-bottom: .3em;
}
.com_form .privacy p,
.com_form .privacy dd{
    font-size:88%;
    letter-spacing: normal;
    line-height: 1.8em;
}
}





/* ボタンレイアウト
-----------------------------------------------------------------------*/
.com_form .submit_box {
	margin-top: 70px;
	text-align: center;
}
.com_form .submit_box p {
	margin-bottom: 70px;
}
.com_form .submit_box ul{
	width: 100%;
	max-width: 455px;
	margin: 0 auto;
}
.com_form .submit_box ul.btn_size_change{
	max-width: 700px;
}
.com_form .submit_box li {
	width: 48%;
	display: inline-block;
	margin: 0 0.5%;
}
.com_form .submit_box .btn_size_change li:first-child {
	width: 65%;
}
.com_form .submit_box .btn_size_change li:last-child {
	width: 30%;
}

.com_form .submit_box dl,
.com_form .submit_box p{
    text-align: center;
    margin-bottom: 3em;
}
.com_form .submit_box dd{
    margin-top: .5em;
    font-size:95%;
    line-height: 1.6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_form .submit_box {
	margin-top: 5%;
}
.com_form .submit_box p {
	margin-bottom: 5%;
}
.com_form .submit_box ul{
	max-width: 395px;
}
.com_form .submit_box ul.btn_size_change{
	max-width:600px;
}
.com_form .submit_box dl,
.com_form .submit_box p{
    margin-bottom:2em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_form .submit_box {
	margin-top: 8%;
}
.com_form .submit_box p {
	margin-bottom: 0;
}
.com_form .submit_box ul,
.com_form .submit_box ul.btn_size_change{
	max-width: 100%;
}
.com_form .submit_box li {
	width: 100%;
	display: block;
	margin: 0;
}
.com_form .submit_box .btn_size_change li:first-child {
	width: 100%;
	max-width: 100%;
    margin-bottom: .5em;
}
.com_form .submit_box .btn_size_change li:last-child {
	width: 100%;
	max-width:100%;
}

.com_form .submit_box dl,
.com_form .submit_box p{
    margin-bottom: 5%;
    letter-spacing: normal;
}
.com_form .submit_box dl{
	 text-align: left;
}
}

