@charset "UTF-8";
/* CSS Document */
/*--------------------------*/
/*コンタクトフォーム設定*/
/*--------------------------*/
/*入力フォーム--基礎構造*/
#contactForm{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	margin-top: 64px;
}
#contactForm > .inner-box{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#contactForm > .inner-box + .inner-box{
	margin-top: 21px;
}
#contactForm .item{
	width: 25%;
}
#contactForm .form-box{
	width: 75%;
}
#contactForm .form-box > input{
	width: 100%;
	border: 1px solid var(--color-gray);
	border-radius: 3px;
	padding: 1rem;
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	        box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
}
/*入力フォーム--住所*/
#contactForm .item.adr{
	-ms-flex-item-align: start;
	    align-self: flex-start;
}
#contactForm .inputAdr + .inputAdr{
	margin-top: 10px;
}
/*入力フォーム--お問い合わせ内容*/
#contactForm .item.textArea{
	-ms-flex-item-align: start;
	    align-self: flex-start;
}
#contactForm textarea{
	width: 100%;
	border: 1px solid var(--color-gray);
	border-radius: 3px;
	padding: 1rem;
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	        box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
}
/*入力フォーム--必須項目*/
#contactForm .required{
	background: #e4090d;
	padding: 0.5rem 0.8rem;
	border-radius: 2px;
	margin-right: 6px;
	color: #ffffff;
	font-size: calc(var(--txt)/1.2);
}
#contactForm .required.optional{
	background: #7e7e7e;
}
/*--------------------------*/
/*ラジオボタン*/
/*元のラジオボタンを非表示にする*/
#contactForm .form-box.radio-box .check{
	position: relative;
}
#contactForm .radio-input{
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
/*ラジオボタンの設定*/
#contactForm .checkItem{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	cursor: pointer;
	position: relative;
}
#contactForm .checkItem::before{
	content: "";
	display: block;
	border-radius: 50%;
	border: 1px solid #BFBFBF;
	background: #ffffff;
	width: 1.6rem;
	height: 1.6rem;
	margin-right: 1rem;
}
#contactForm .radio-input:checked+.checkItem::after{
	content: "";
	display: block;
	border-radius: 50%;
	background: var(--color-sub);
	width: 1rem;
	height: 1rem;

	position: absolute;
	top: 50%;
	left: 0.3rem;
	-webkit-transform: translate(0,-50%);
	        transform: translate(0,-50%);
	opacity: 1;
}
/*ラジオボタンの配置間隔*/
#contactForm .radio-box{
	width: 75%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
#contactForm .radio-box > label{
	margin: 8px 0;
	margin-right: 40px;
}
/*--------------------------*/
/* 画像アップロード */
/* デフォルト設定をオフ */
input[type="file"]{
	opacity: 0;
	visibility: hidden;
	position: absolute;
}
.uploadItem{
	-ms-flex-item-align: start;
	    align-self: flex-start;
}
.upload{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
/* アップロードボタン */
.upload-button{
	width: 100%;
	max-width: 136px;
	height: 32px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	border-radius: 3px;
	background: var(--color-sub);
	color: var(--color-txt);
	cursor: pointer;
}
/* ファイル名 */
.js-upload-filename{
	margin-left: 1rem;
}
/* 選択ファイルクリアボタン */
.fileclear{
	display: none;
	background: #dedede;
	padding: 8px 10px;
	max-width: 160px;
	font-size: 1.4rem;
	text-align: center;
	margin-top: 1rem;
	cursor: pointer;
}
/* 詳細表示ボタン */
#look{
	display: none;
	width: 100%;
	margin-top: 1rem;
	text-decoration: underline;
	font-weight: bold;
	cursor: pointer;
}
#look-hide{
	display: none;
	width: 100%;
	margin-top: 1rem;
	text-decoration: underline;
	font-weight: bold;
	cursor: pointer;
}
/* 詳細 */
#file-list{
	margin-top: 1rem;
}
#file-list > li{
	-webkit-animation: open-list .8s linear 1;
	        animation: open-list .8s linear 1;
	-webkit-animation-fill-mode: both;
	        animation-fill-mode: both;
}
@-webkit-keyframes open-list{
	0%{
		max-height: 0;
		visibility: hidden;
	}
	100%{
		max-height: 999px;
		visibility: visible;
	}
}
@keyframes open-list{
	0%{
		max-height: 0;
		visibility: hidden;
	}
	100%{
		max-height: 999px;
		visibility: visible;
	}
}

/*--------------------------*/
/*その他装飾*/
/*送信ボタン*/
.form-button-box{
	margin-top: 24px;
	text-align: center;
}
.form-button {
	display: inline-block;
	background: var(--color-sub);
	height: 56px;
	width: 100%;
	max-width: 210px;
	min-width: 180px;
	border: 2px solid var(--color-sub);
	border-radius: 40px;

	color: var(--color-txt);
	font-size: var(--txt-medium);
	font-weight: var(--bold);
	text-align: center;

	cursor: pointer;
	-webkit-transition: .2s ease all;
	transition: .2s ease all;
}
.form-button:hover{
	opacity: 1;
	background: var(--color-white);
	-webkit-transition: .2s ease all;
	transition: .2s ease all;
}
/*記入例*/
::-webkit-input-placeholder{
	font-size: var(--txt);
	color: var(--color-placeholder,#a4a4a4);
}
::-moz-placeholder{
	font-size: var(--txt);
	color: var(--color-placeholder,#a4a4a4);
}
:-ms-input-placeholder{
	font-size: var(--txt);
	color: var(--color-placeholder,#a4a4a4);
}
::-ms-input-placeholder{
	font-size: var(--txt);
	color: var(--color-placeholder,#a4a4a4);
}
::placeholder{
	font-size: var(--txt);
	color: var(--color-placeholder,#a4a4a4);
}
/*エフェクト*/
#contactForm input:focus,
#contactForm select:focus,
#contactForm textarea:focus
{
	border: 2px solid var(--color-sub);
	z-index: 10;
	outline: 0;
	background: #fffcf4;
}



/*--------------------------*/
/*タブレット*/
/*--------------------------*/
@media(max-width:959px){
/*入力フォーム--基礎構造*/
#contactForm{
	max-width: none;
	margin-top: 48px;
}
#contactForm > .inner-box{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#contactForm > .inner-box + .inner-box{
	margin-top: 24px;
}
#contactForm .item{
	width: 100%;
}
#contactForm .form-box{
	width: 100%;
	margin-top: 12px;
}
/*入力フォーム--住所*/
#contactForm .inputAdr + .inputAdr{
	margin-top: 10px;
}
/*--------------------------*/
/*ラジオボタン*/
/*ラジオボタンの配置間隔*/
#contactForm .radio-box{
	width: 100%;
}
/*--------------------------*/
/*その他装飾*/
/*送信ボタン*/
.form-button:hover{
	opacity: 1;
	background: var(--color-sub);
	-webkit-transition: none;
	transition: none;
}
.form-button:active{
	opacity: 1;
	background: var(--color-white);
	-webkit-transition: .2s ease all;
	transition: .2s ease all;
}
}/*タブレットラスト*/



/*--------------------------*/
/*スマホ*/
/*--------------------------*/
@media(max-width:559px){
/*--------------------------*/
/*コンタクト*/
/*--------------------------*/
/*入力フォーム--基礎構造*/
#contactForm{
	margin-top: 32px;
}
#contactForm > .inner-box + .inner-box{
	margin-top: 16px;
}
#contactForm .form-box{
	width: 100%;
	margin-top: 16px;
}
/*入力フォーム--住所*/
#contactForm .inputAdr + .inputAdr{
	margin-top: 14px;
}
/*--------------------------*/
/*ラジオボタン*/
/* 変更なし */
/*--------------------------*/
/* 画像アップロード */
.upload{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
/* ファイル名 */
.js-upload-filename{
	margin: 0;
	margin-top: 1rem;
}
/*--------------------------*/
/*その他装飾*/
/* 変更なし */
}/*スマホラスト*/