@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');*/

/* notofont import */
@impFort url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");
/* font style */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");

/* RESET
----------------------------------------------------------------------------------------------------*/
abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,caption,canvas,center,cite,code,dd,del,details,dfn,dialog,dl,dt,em,embed,fieldset,figcaption,figure,form,footer,header,hgroup,h1,h2,h3,h4,h5,h6,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,pre,q,ruby,s,samp,section,main,small,span,strike,sub,summary,sup,tt,table,tbody,tfoot,thead,time,tr,th,td,u,ul,var,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;line-height:1.6;text-align:left;}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}table{border-collapse:collapse;border-spacing:0}

/* ----------------------------------------------

 * 設定をしなおす

---------------------------------------------- */
body {
  margin: 0 auto;
  padding: 0;
  font-size: 15px !important;
  line-height: 1.5 !important;
  /*font-family: 'Roboto',"游ゴシック Medium", "Yu Gothic Medium","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;*/
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "HGゴシックE", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  font-weight:normal;
  color: #222;
  -webkit-text-size-adjust: 100%;
  
 
}



/*申込みフォーム共通－ヘッダー*/


.font_s{
	font: inherit;
	font-size: 80%;
	line-height:100%;}
	
.font_m{
	font: inherit;
	font-size: 100%;
	line-height:120%;}
	
.font_l{
	font: inherit;
	font-size: 120%;
	line-height:140%;}
	
	

.header{width:100%; background-color:#EEE; z-index:10; margin-top:0; text-align:center;}

.header img{
	 
	 width:80%;
	 max-width:340px;
	 margin:20px 0;
}

.form_contents{
	width:90%;
	max-width:1000px;
	margin:20px auto;
}

/*申込みフォーム共通－フォント*/
table td{font-size:16px; line-height:1.4; padding:.2em .5em;}

.headline{
  position: relative;
  display: inline-block;
  margin: 10px 0;
  padding: 15px 10px;
  color: #222;
  text-align:center;
  font-size: 38px;
  letter-spacing:.1em;
  line-height:1.4;
  background: #FFF;
  box-sizing: border-box;
}

.headline:before{
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

.headline:after{
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #FF9999;
  z-index: 1;
}

.headline p {
	margin: 0;
	padding: 0;
}

.caution { background-color: #FF3333; color:#FFF; font-size:12px; font-weight:bold; line-height:1; display:inline-block; padding:.4em .8em; margin:0 .5em; text-decoration:none;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}

.seats { background-color: #DD0000; color:#FFF; font-size:12px; font-weight:bold; line-height:1; display:inline-block; padding:.4em .8em; margin:0 .5em; text-decoration:none;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
.ends { background-color: #888888; color:#FFF; font-size:12px; font-weight:bold; line-height:1; display:inline-block; padding:.4em .8em; margin:0 .5em; text-decoration:none;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}


A:link {text-decoration:none;}
A:visited {text-decoration:none;}
A:hover {text-decoration: underline}


.ginkou{margin-top:10px;
border:0px solid #DDD; padding:.5em;

}


/*申込みフォーム共通－メイン（センタリング）*/
table.form_body { width:100%; margin: 40px 0 ; border:0px solid #CCC; background-color:#FFF;border-collapse:collapse;font-size:16px;}
table.form_body th{border-width:1px 0 ; border-style:solid; border-color:#CCC;background-color:#FFF6F6; padding:1.5em;font-weight:normal;text-align:left;}
table.form_body td{border-width:1px 0 ; border-style:solid; border-color:#CCC; padding:1.5em;}


table.form_body td.cel_width{width:100px;}


table.form_body table td{  margin:0; padding:0 .2em;}

table.detail_body { width:100%; margin:  0 ; border:0px solid #CCC; background-color:#FFF;border-collapse:collapse;font-size:16px;}
table.detail_body th{border-width:0 ; border-style:solid; border-color:#CCC;background-color:#FFF6F6; padding:1.5em;font-weight:normal;text-align:left;}
table.detail_body td{border-width:0 ; border-style:solid; border-color:#CCC; padding:1.5em;}

table.detail_body table td{  margin:0; padding:0 .2em;}

select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}



input[type="text"]{width:90%; height:3em; border:1px solid #CCCCCC; margin:2px 0; font-size:16px;}
input[type="tel"]{width:90%; height:3em; border:1px solid #CCCCCC; margin:2px 0; font-size:16px;}
input[type="number"]{width:90%; height:3em; border:1px solid #CCCCCC; margin:2px 0; font-size:16px; }
textarea{width:90%; height:8em; border:1px solid #CCCCCC;  margin:4px 0; font-size:16px; }
select {
	width:100%; height:3.4em; border:1px solid #CCCCCC;  margin:10px 0; font-size:16px;
	background: #FFF;
	background: url(./img/arrow.png) right 50% no-repeat;
	background-size: 30px, 100%;
	max-width:80%;
	min-width:80px;
}

select::-ms-expand {
    display: none;
}



/* チェックボックス　*/

/* ラベルのスタイル */
.ring-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  width:100%;
}

/* デフォルトチェックボックスを非表示 */
.ring-input {
  display: none;
}

/* リング外枠 */
.ring-box {
  position:relative;
  height: 24px;
  aspect-ratio: 1 / 1 !important;
  border: 2px solid #DDD;
  border-radius: 50%;
  transition: all 0.3s ease;
  margin:10px;
}

/* リング内側 */
.ring-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  background-color: #CC0000;
  border-radius: 50%;
  transition: all 0.3s ease;
}

/* チェック時のスタイル */
.ring-input:checked ~ .ring-box {
  border-color: #DDD;
}

.ring-input:checked ~ .ring-box .ring-inner {
  width: 18px;
  height: 18px;
}



.ring-label {
  font-size: 18px;
  color: #4b5563;
  font-weight:bold;

}



/* ラジオボタン　*/
label.radiobtn {
    padding-left:38px; /* ラベルの位置 */
    display:        inline-block;
    cursor:         pointer;
    position:       relative;
	line-height:32px;
}

label.radiobtn:before {
    content:        '';
    width:          32px;           /* ボックスの横幅 */
    height:         32px;           /* ボックスの縦幅 */
    display:        inline-block;
    position:       absolute;
    left:           0;
    background-color:   #fff;
    border:1px solid #DDD;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
}

/* 元のチェックボックスを表示しない */
input[type=radio] {
    dopacity:0;
	position:absolute;
}

/* ラジオボタン　*/
label.radiobtn2 { 
    border: 1px solid #BBB;
    padding:10px 0 10px 0;
	margin:8px 0 8px -14px;
    display:inline-block;
    cursor:pointer;
	min-width:80px;
	height:26px;
    text-align:center;
    background:#FFF;
	font-size:18px;
 -webkit-border-radius:6px;
	-moz-border-radius:6px;
	border-radius:6px;
	position:relative;
	margin:5px;
	font-weight:bold !important;
}
input.radiobtn2[type=radio]:checked + label { background: #CC3333; color: #ffffff; }



/* チェックした時のスタイル */
input[type=radio]:checked + label:before {
    content:        '';        /* チェックの文字 */ 
    background-color:rgba(255,0,0,.8);          /* チェックした時の色 */
	
}





#submit[disabled]{
    color:#FFF !important;background-color: #BBBBBB;
    cursor:not-allowed;
}


.search_box{margin:20px 20px; text-align:left; width:calc(100% - 40px);}


.check_1{
	display:inline-block;
	width:calc(99% - 20px);
	margin:10px 0;
	padding:10px;
	border:1px solid #CCC;
	border-radius: 5px;
	vertical-align: top; 
}

.check_2{
	display:inline-block;
	width:calc(49% - 20px);
	margin:10px 0;
	padding:10px;
	border:1px solid #CCC;
	border-radius: 5px;
	vertical-align: top; 
}

.check_3{
	display:inline-block;
	width:calc(32% - 20px);
	margin:10px 0;
	padding:10px;
	border:1px solid #CCC;
	border-radius: 5px;
	vertical-align: top; 
}

.check_point{
	display:inline-block;
	width:calc(99% - 40px);
	margin:10px 0;
	padding:10px 20px;
	border:2px solid #FF0000;
	border-radius: 5px;
	vertical-align: top; 
}

.check_1 input,.check_2 input,.check_3 input{
	vertical-align: top;
	
}

.no_list{ font-size:18px; line-height:1.5; text-align:center; margin:200px 20px;}

.detail_box1{
	display:inline-block;
	width:calc(59% - 20px);
	margin:10px 0;
	padding:10px;
	border:0px solid #CCC;
	vertical-align: top; 
}

.detail_box2{
	display:inline-block;
	width:calc(39% - 20px);
	margin:10px 0;
	padding:10px;
	border:0px solid #CCC;
	vertical-align: top; 
}

.detail_box2 iframe{margin:20px 0 10px 0; width:100%; height:500px;}

.detail_box1 input, .detail_box2 input{
	vertical-align: top;
	
}


footer{

	width:100%;
	height:30px;
	background-color:#888;
	color:#FFF;
	text-align:center;
	font-size:12px;
	line-height:120%;
	margin-top:60px;
	padding:1em 0;
	
}

footer p{

	margin:1em;
	
}

@media only screen and (max-width: 980px) {

	.detail_box1,.detail_box2{
	display:block;
	width:100%;
	padding:10px 0;
	
}



.detail_box2 iframe{margin:0 10px 10px 10px; width:calc(100% - 20px); height:350px;}

}

@media only screen and (max-width: 680px) {
	
	

td#head img{width:auto; height:60px; margin:10px auto;}


/*申込みフォーム共通－フォント*/
table td{font-size:14px; line-height:1.4; padding:.2em .5em;}

.headline{
  font-size: 28px;
}

table.form_body {
  font-size: 14px;
}


table.form_body td.cel_width{width:80px;}

table.detail_body {
  font-size: 14px;
}


table.detail_body td.cel_width{width:80px;}


select {

	min-width:60px;
}
	

	





.no_list{ font-size:14px;}



}






@media screen and (max-width: 780px) {
	
.form_contents{
	
	width:100%;
	margin:10px 0;
}

table.form_body td.cel_width{width:70px;}





	
input[type="text"]{width:90%; height:3em; border:1px solid #CCCCCC; margin:2px 0; font-size:14px; }
input[type="tel"]{width:90%; height:3em; border:1px solid #CCCCCC; margin:2px 0; font-size:14px; }
input[type="number"]{width:90%; height:3em; border:1px solid #CCCCCC; margin:2px 0; font-size:14px; }
textarea{width:100%; height:6em; border:1px solid #CCCCCC;  margin:2px 0; font-size:14px; }
select {
	width:100%; height:3em; border:1px solid #CCCCCC;  margin:2px 0; font-size:14px;

	min-width:60px;
}


/* ラジオボタン　*/
label.radiobtn2 { 
    border: 1px solid #BBB;
    padding:10px 0 10px 0;
	margin:8px 2px 8px 0 ;
    display:inline-block;
    cursor:pointer;
	min-width:80px;
	height:auto;
    text-align:center;
    background:#FFF;
	font-size:16px;
}

.ring-label {
  font-size: 16px;
}

	
	.check_1,.check_2,.check_3{
	display:block;
	width:calc(100% - 20px);
	
}



footer{

	font-size:10px;
	line-height:120%;
	padding:1em 0;
	
}

}

#tokyo_link, #osaka_link, #nagoya_link, #yokohama_link, #omiya_link, #zoom_link{
  display: none;
}

#sodan{
  /*display: none;	*/
}


table.profile_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 0px solid #ccc;
  font-size:16px;
}
table.profile_table th {
  width:170px;
  border-width:1px 0 ; border-style:solid; border-color:#CCC;
  background-color:#FFF6F6;
  box-sizing: border-box;
  padding: 1.5em;
  text-align: left;
  vertical-align:middle;
  font-weight:normal;
}
table.profile_table td {
  background: #fff;
  border-width:1px 0 ; border-style:solid; border-color:#CCC;
  box-sizing: border-box;
  padding: 1.5em;
  vertical-align: top;
  text-align: left;
  vertical-align:middle;
}

table.noline {
  width:auto;
  border: none !important;
  text-align: center;
  margin:0;
  padding:0;
  font-size:14px;
}

table.noline th {
  width:40px !important;
  background: #fff;
  border: none !important;
  text-align: center;
  vertical-align:middle;
  margin:0;
  padding:0;
  font-weight:normal;
}

table.noline td {
  width:auto;
  background: #fff;
  border: none !important;
  text-align: center;
  vertical-align:middle;
  margin:0;
  padding:0;
  font-weight:normal;
}

table.koza_detail{border-spacing:0;margin:20px 10px;width:calc(100% - 20px);}

table.koza_detail,table.koza_detail th,table.koza_detail td{border:1px #AAA solid; border-collapse:collapse;}

table.koza_detail th{font-size:16px; line-height:1.2; padding:10px !important; font-weight:bold;text-align:left;  background-color:#EEE; line-height:1.2;}
table.koza_detail td{font-size:14px; line-height:1.2; padding:10px !important;}

.detail_title{font-size:18px; font-weight:bold; line-height:1.4; border-bottom:1px solid #CCC; padding:.6em 1em;margin-bottom:10px;
}


table.koza_detail2{border-spacing:0;margin:10px 0px;width:100%;}

table.koza_detail2,table.koza_detail2 th,table.koza_detail2 td{border:1px #AAA solid; border-collapse:collapse;}
table.koza_detail2 td{font-size:14px; line-height:1.2; padding:10px !important;}


@media all and (max-width: 680px) {
	
  table.profile_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 0px solid #ccc;
	font-size:14px;
}

  table.profile_table th {
    display: block;
    width: 100%;
    border-width:1px 0 0 0 ; border-style:solid; border-color:#CCC;
  }
  table.profile_table td {
    display: block;
    width: 100%;
    border-width:1px 0 0 0; border-style:solid; border-color:#CCC;

  }
  
  table.profile_table tr {

  }
  
  table.profile_table tr:first-child {
    border-top: 0px solid #ccc;

  }
  
    table.noline
	{
  width:100% !important;
   margin:0 !important;
   padding:0 !important;
   font-size:12px;
}
  
  table.noline th {
	  width:30px !important;
  display:table-cell;
  

 
}

  table.noline td {
  display:table-cell;
  width:calc(50% - 30px);

 
}

table.koza_detail th{font-size:14px;}
table.koza_detail td{font-size:12px;}

table.koza_detail2 th{font-size:14px;}
table.koza_detail2 td{font-size:12px;}

.detail_title{font-size:16px; font-weight:bold; line-height:1.4; border-bottom:1px solid #CCC; padding:.2em 1em;margin-bottom:20px;
}

}





input.myError {
background-color:#FF9999;
}

label.myError {
color:#FF0000;
}

select.myError, textarea.myError {
background-color:#FF9999;
}



.btn-detail-solid {
  width:95%;
  min-width:100px;
  max-width:300px;
  background: #007bff;
  color: white;
  border: none;
  padding: 22px 0px;
  font-size: 18px;
  font-weight:bold;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  position:relative;
}

.btn-detail-solid:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
  content: "\f054";
        position: absolute;
        top: 53%;
        right: 5%;
        transform: translate(0 ,-53%);
    	-webkit-transform: translate(0 ,-53%));
    	-ms-transform: translate(0 ,-53%));
}

.btn-detail-solid:hover {
  background: #0056b3;
}


.btn-apply-solid {
  width:95%;
  min-width:100px;
  max-width:300px;
  background: #FF0040;
  color: white;
  border: none;
  padding: 22px 0px;
  font-size: 18px;
  font-weight:bold;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  position:relative;
}


.btn-apply-solid:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
  content: "\f054";
        position: absolute;
        top: 53%;
        right: 5%;
        transform: translate(0 ,-53%);
    	-webkit-transform: translate(0 ,-53%));
    	-ms-transform: translate(0 ,-53%));
}

.btn-apply-solid:hover {
  background: #CC0033;
}




.btn-sort-solid {
  width:95%;
  min-width:100px;
  max-width:300px;
  background: #FF0040;
  color: white;
  border: none;
  padding: 22px 0px;
  font-size: 18px;
  font-weight:bold;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  position:relative;
}


.btn-sort-solid[disabled]{
  width:95%;
  min-width:100px;
  max-width:300px;
  background: #AAA;
  color: white;
  border: none;
  padding: 22px 0px;
  font-size: 18px;
  font-weight:bold;
  border-radius: 6px;
  cursor:not-allowed;
  transition: all 0.3s ease;
  position:relative;
}


.btn-sort-solid:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
  content: "\f054";
        position: absolute;
        top: 53%;
        right: 5%;
        transform: translate(0 ,-53%);
    	-webkit-transform: translate(0 ,-53%));
    	-ms-transform: translate(0 ,-53%));
}

.btn-sort-solid:hover {
  background: #CC0033;
}


.btn-sort-solid:hover[disabled]{

background: #AAA;
}

.btn-return-solid {
  width:95%;
  min-width:100px;
  max-width:200px;
  background: #FFF;
  color: 222;
  border: none;
  padding: 22px 0px;
  font-size: 18px;
  font-weight:bold;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  border:1px solid #CCC;
  position:relative;
}

.btn-return-solid:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;

  content: "\f053";
        position: absolute;
        top: 53%;
        left: 5%;
        transform: translate(0 ,-53%);
    	-webkit-transform: translate(0 ,-53%));
    	-ms-transform: translate(0 ,-53%));
}

.btn-return-solid:hover {
  background: #DDD;
}


/* 点滅 */
.blinking{
	background-color:#FF0033;
	color:#FFF;
	font-size:80%;
	line-height:1;
	padding:6px 6px;
	margin:2px 8px;
	display:inline-block;
	white-space: nowrap;
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

@media all and (max-width: 680px) {
	.btn-detail-solid, .btn-apply-solid, .btn-sort-solid, .btn-return-solid,.btn-sort-solid[disabled] {
  padding: 18px 0px;
  font-size: 16px;
}

}




  .step_box {
    position: relative;
    margin: 100px auto 60px auto;
    padding: 0.5em 1em;
    border: solid 3px #FF0000;
    border-radius: 8px;
	width:calc(100% - 40px);
	max-width:1200px;
}
.step_box .box-title {
    position: absolute;
    display: inline-block;
    top: -23px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 28px;
    color: #FF0000;
    font-weight: bold;
    background: #FFF;
}




.step_box div {
    margin: 0; 
    padding: 0;
	font-size:0;
	text-align:left;
}
.step_box div .step_fulltext{display:block; width:calc(100% - 60px); font-size:16px; vertical-align:top; margin:20px 30px 20px 30px; }
.step_box div .step_text{display:inline-block; width:calc(100% - 260px); font-size:16px; line-height:1.6; vertical-align:top;  margin:20px;}
.step_box div .step_image{display:inline-block; width:180px; font-size:14px; vertical-align:top; text-align:center;padding:20px;}
.step_box div .step_image img{width:100%; max-width:240px; margin:0; border:2px solid #DDD;}

.step_arrow{
 position: relative;
  display: inline-block;
  padding-left: 22px;
}
.step_arrow:before {
  content: '';
    width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #009999;
}



@media screen and (max-width: 880px) {
	.step_box,.image_box {
	margin: 60px auto;
	padding-top:20px;
	width:80%;
}

.step_box .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 21px;
    font-weight: bold;
}



	.step_box div .step_text{display:block;   width:calc(100% - 40px);   font-size:14px; vertical-align:top;}
	.step_box div .step_fulltext{display:block;font-size:14px; vertical-align:top;}
	.step_box div .step_image{display:block; width:100%; font-size:14px; vertical-align:top; margin:0; padding:0}
	.step_box div .step_image img{width:100%;}
	
	.step_box div .voice_text{font-size:14px;}
	


}