@charset "utf-8";


/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */

form#mail_form * {
	margin:  0;
	padding: 0;
	box-sizing: content-box;
}

form#mail_form {
	width: 1000px;
	margin: 100px auto 50px;
	background: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 7px;
	box-shadow: 0 0 7px rgba( 0, 0, 0, 0.2 );
	line-height: 1.8;
}

form#mail_form dl {
	width: 90%;
	margin: 0 auto;
	border-bottom: 1px solid #cccccc;
}

form#mail_form dl:after,
form#mail_form dl dt:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

form#mail_form dl dt {
	width: 30%;
	float: left;
	padding: 35px 0 25px;
	text-align: right;
}

form#mail_form dl dd {
	width: 65%;
	float: right;
	padding: 30px 0 25px 5%;
}

form#mail_form dl dt i {
	float: left;
	position: relative;
	top: -2px;
}


form#mail_form dl dt span {
	display: block;
	font-size: 85%;
	color: #308628;
}



/* -- span.required, span.optional -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	display: inline-block;
	font-size: 85%;
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 3px;
}

form#mail_form dl dt span.required {
	background: #d9534f;
	border: 1px solid #d43f3a;
}

form#mail_form dl dt span.optional {
	background: #337ab7;
	border: 1px solid #2e6da4;
}




/* -- error message -------------------------------------------------------------------------------- */

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
	display: block;
	color: #ff0000;
	margin-top: 5px;
}




/* -- loading -------------------------------------------------------------------------------- */

div.loading-layer {
	width: 100vw;
	height: 100vh;
	background: rgba( 0, 0, 0, 0.7 );
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 10000;
}

span.loading {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border-top: 5px solid rgba( 255, 255, 255, 0.2 );
	border-right: 5px solid rgba( 255, 255, 255, 0.2 );
	border-bottom: 5px solid rgba( 255, 255, 255, 0.2 );
	border-left: 5px solid #ffffff;
	-webkit-transform: translateZ( 0 );
	-ms-transform: translateZ( 0 );
	transform: translateZ( 0 );
	-webkit-animation: load-circle 1.0s linear infinite;
	animation: load-circle 1.0s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
}

@-webkit-keyframes load-circle {
	0% {
		-webkit-transform: rotate( 0deg );
		transform: rotate( 0deg );
	}
	100% {
		-webkit-transform: rotate( 360deg );
		transform: rotate( 360deg );
	}
}

@keyframes load-circle {
	0% {
		-webkit-transform: rotate( 0deg );
		transform: rotate( 0deg );
	}
	100% {
		-webkit-transform: rotate( 360deg );
		transform: rotate( 360deg );
	}
}




/* -- input, select, textarea -------------------------------------------------------------------------------- */

form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"] {
	width: calc( 100% - 4% - 2px );
	padding: 7px 2%;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
	-webkit-appearance: none;
	font-size: 16px;
	font-family: inherit;
	line-height: normal;
}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
	box-shadow: 0px 0px 5px #55ccff;
	border: 1px solid #55ccff;
	background: #ffffff;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
	margin: 0 10px 0 0;
}

form#mail_form select {
	padding: 7px 2%;
	border: 1px solid #cccccc;
	font-size: 16px;
	font-family: inherit;
	line-height: normal;
}

form#mail_form textarea {
	display: block;
	width: calc( 100% - 4% - 2px );
	height: 200px;
	padding: 7px 2%;
	resize: vertical;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
	-webkit-appearance: none;
	font-size: 16px;
	font-family: inherit;
	line-height: normal;
}




/* -- ul, li -------------------------------------------------------------------------------- */

form#mail_form ul {
	list-style-type: none;
}

form#mail_form ul li label {
	display: block;
	margin-top: 10px;
	padding: 7px 2%;
	border-radius: 3px;
	background: #f0f0f0;
}

form#mail_form ul li:first-child label {
	margin-top: 0px;
}

form#mail_form ul li label:hover {
	cursor: pointer;
	background: #e0e0e0;
}




/* -- input design -------------------------------------------------------------------------------- */

form#mail_form input[name="company"] {
	width: 70%;
}

form#mail_form input[name="name_1"],
form#mail_form input[name="name_2"],
form#mail_form input[name="read_1"],
form#mail_form input[name="read_2"],
form#mail_form input[name="postal"],
form#mail_form input[name="phone"],
form#mail_form input[name="schedule"] {
	width: 30%;
}

form#mail_form input[name="mail_address"],
form#mail_form input[name="mail_address_confirm"] {
	width: 80%;
}

form#mail_form input[name="postal"] + a {
	display: inline-block;
	padding: 7px 20px;
	border: 1px solid #46b8da;
	border-radius: 3px;
	background: #5bc0de;
	font-size: 16px;
	line-height: normal;
	color: #ffffff;
	text-decoration: none;
}

form#mail_form input[name="postal"] + a:hover {
	cursor: pointer;
	background: #31b0d5;
	border: 1px solid #269abc;
}




/* -- button -------------------------------------------------------------------------------- */

form#mail_form p#form_submit {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
}

form#mail_form input[type="button"] {
	padding: 7px 20px;
	border: 1px solid #4cae4c;
	border-radius: 3px;
	background: #5cb85c;
	font-size: 16px;
	color: #ffffff;
	font-family: inherit;
	-webkit-appearance: none;
}

form#mail_form input[type="button"]:hover {
	cursor: pointer;
	background: #449d44;
	border: 1px solid #398439;
}

form#mail_form input[type="button"] {
	margin-left: 35%;
}



/* -- 2023/02 追加 プリント　button -------------------------------------------------------------------------------- */

form#mail_form p#form_print {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
}


/* -- ヘッダー-------------------------------------------------------------------------------- */

header {
 	position: fixed;
	background-color:#FFFFFF;
	justify-content: space-between;
	width:100%;
	height:150px;
	top:0px;
	left:0px;
	z-index: 9998;/* headerを常に一番上に */	
}

.bar{
	
	background-color: #9D3A39;
	height: 25px;
	
}

.bar2{
	background-color: #9D3A39;
	height:5px;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .3);
	
}

.k-logo{
	height: 80px;
	padding: 30px 0 10px 150px;
	
	

}



/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 9999;/*　ハンバーガーボタンを常に一番上に　*/
  right : 20px;
  top   : 60px;/*　ハンバーガーボタン位置調整　真ん中に　*/
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #555;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition   : 0.5s ease-in-out;
  transition        : 0.5s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(315deg);
  -moz-transform   : rotate(315deg);
  transform        : rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(-315deg);
  -moz-transform   : rotate(-315deg);
  transform        : rotate(-315deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 9998;/*　ハンバーガーメニューを上に　*/
  top  : 0px;
  left : 0;
  color: #000;
  background: #fff;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
  opacity: 0.95;/*　ハンバーガーメニュー透過　*/
}

nav.globalMenuSp ul {
  background:#9D3A39;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#FD9594;
}

nav.globalMenuSp ul li a {
  display: block;
  color:#fff;
  padding: 1em 0;
  text-decoration :none;
  font-family: 'メイリオ', Meiryo,'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

/*	
ハンバーガーメニューを表示する重ね順
1 ハンバーガーボタン　 　9999
2 ハンバーガーメニュー   9998
3 上部メニューバー      9996(header)
4 inu01~03           9997
*/


/* -- メイン　追加　 -------------------------------------------------------------------------------- */

main {
	margin-top:200px;
	}	


.sinsatsu_mae{
/*フェードインアニメ ここから*/
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}/*「fadeIn」一秒で出現*/

@keyframes fadeIn { /*「fadeIn」と名前をそろえた*/
    0% {opacity: 0} /*アニメーション開始時は完全に透過*/
	70% {opacity: 0} 
    100% {opacity: 1} /*アニメーション終了時は透過しない*/
}

/*旧 Safari 用のベンダー処理*/
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
	70% {opacity: 0} 
    100% {opacity: 1}
}
/*フェードインアニメ　ここまで*/


.sinsatsu_mae_moji{
	text-align: center;
	padding-bottom: 60px;
}
.sinsatsu_mae_moji img{
	width:835px;
}

.sinsatsu_mae_sp_moji {
	display: none;
}



.sinsatsu_mae_textbox{
	margin-top: 0px;
	width:100%;/* width指定から%に */
	letter-spacing: 0.2em;/* 0.3から0.2に */
	line-height: 35px;
	text-align: center;
	font-size:95%;/* サイズ指定から%に */
	
}

.download_moji{
	text-align: center;
	padding-top: 20px;
	padding-bottom: 0px;
}
.download_moji img{
	width:700px;
}

.download_moji img:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    transform: translate3d(5px, 7px, 0px);
}  


/* -- プライバシーポリシー　 -------------------------------------------------------------------------------- */

/* 携帯電話注意事項 ここから*/
.submit_textbox{
	position: relative;/*←相対位置*/
	width: 900px;
	margin:10px auto 0;
	border:1px solid #DDD;
	padding:20px;
	background-color:#FFFFFF;
	}

.submit_txt{
	font-size:11px;
	color:#888;
	letter-spacing:0px;
	line-height:1.6em;
	text-align: left;
	
}

/* プライバシーポリシー ここから*/

.policyBox{
	width: 900px;
	margin:20px auto 100px;
	border:1px solid #DDD;
	padding:20px;
	background-color:#FFFFFF;
}

.policyBox h3.policy_title{
	font-size:13px;
	font-weight:normal;
	color:#666;
	line-height:1.6em;
	letter-spacing:0px;
	margin-bottom:5px;
}

.policyBox p.policy_txt{
	font-size:11px;
	color:#888;
	letter-spacing:0px;
	line-height:1.6em;
}

/* プライバシーポリシー ここまで*/

	
 /* 戻るボタン ここから*/

	
 
	.link_btn{
		
	    border-radius: 25px;
	    border: 5px solid #9D3A39;
	    color: #9D3A39;
	    font-size: 16px;
	    font-weight: bold;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    width: 300px;
	    height: 50px;
		
		text-align:center;
		margin:  0 auto 50px; 
		text-decoration: none;
	 
	    transition: all 0.3s ease-out;
	}
	.link_btn:hover{
	    background-color: #9D3A39;
	    border: 5px solid #9D3A39;
	    color: #fff;
	}
 
 /* 戻るボタン ここまで*/


/* -- フッター -------------------------------------------------------------------------------- */

.copyright
{
    text-align:center;
    font-size:12px;
    color:#fff;
    padding:30px 0 40px 0;
	background-color: #9D3A39;
}

/* ページTOPに戻る */
.pagetop{
    display: none;
    position: fixed;
    right: 25px;
    bottom: 100px;
}






/* -- responsive ----------------------------------------------------------------------------------------------------------------------- */

/* 1000pixel start */
@media screen and ( max-width: 1000px ) {


/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */

	
form#mail_form {
	margin: 50px auto 50px;
}

form#mail_form {
	width: 95%;
	font-size: 100%;
}

form#mail_form dl dt {
	width: auto;
	float: none;
	padding: 25px 0 10px;
	text-align: left;
	font-weight: bold;
}

form#mail_form dl dd {
	width: auto;
	float: none;
	padding: 0px 0 20px 0px;
}

form#mail_form dl dt i {
	float: none;
	position: static;
	font-weight: normal;
}




/* -- span.required, span.optional -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	margin: 0 15px 0 0;
}




/* -- input design -------------------------------------------------------------------------------- */

form#mail_form input[name="phone"],
form#mail_form input[name="schedule"] {
	width: 60%;
}




/* -- button -------------------------------------------------------------------------------- */

form#mail_form p#form_submit {
	padding: 25px 0;
}

form#mail_form input[type="button"] {
	margin-left: 0;
}

	
/* -- 2022/10 追加分 -------------------------------------------------------------------------------- */	

/* -- ヘッダー-------------------------------------------------------------------------------- */

header {
 	position: fixed;
	background-color:#FFFFFF;
	justify-content: space-between;
	width:100%;
	height:95px;
	top:0px;
	left:0px;
	z-index: 9998;/* headerを常に一番上に */	
}

.bar{
	
	background-color: #9D3A39;
	height: 15px;
	
}

.bar2{
	background-color: #9D3A39;
	height:5px;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .3);
	
}

.k-logo{
	height: 60px;
	padding:5px 0 0px 15px;
	margin-top: 10px;

}
	
.k-logo img{
	width: 280px;
		
	}
	
/*　ハンバーガーボタン　*/
.hamburger {
  top   : 30px;/*　ハンバーガーボタン位置調整　真ん中に　*/

}
	
	

/* -- メイン　追加　 -------------------------------------------------------------------------------- */

main {
	margin-top:120px;
	}	



.sinsatsu_mae_moji{
	display: none;
}
	
.sinsatsu_mae_sp_moji{
	display: block;
	text-align: center;
	margin-bottom: 50px;
		
	}
	
.sinsatsu_mae_sp_moji img{
	width: 90%;	
	}


.sinsatsu_mae_textbox{
	margin-top: 0px;
	margin-left: 20px;
	margin-right: 20px;
	width:95%;/* width指定から%に */
	letter-spacing: 0.1em;/* 0.3から0.2に */
	line-height: 25px;
	text-align:left;
	font-size:90%;/* サイズ指定から%に */
	
}

.download_moji{
	text-align: center;
	padding-top: 20px;
}
.download_moji img{
	width:90%;
}
	

/* -- プライバシーポリシー　 -------------------------------------------------------------------------------- */

/* 携帯電話注意事項 ここから*/
.submit_textbox{
	width: 80%;
	}

/* プライバシーポリシー ここから*/
.policyBox{
	width: 80%;
}
/* プライバシーポリシー ここまで*/
	
	
 /* 戻るボタン ここから*/
	.link_btn{
		margin: -40px auto 100px; 
	}
 /* 戻るボタン ここまで*/
	
}
/* 1000pixel end */
