@charset "utf-8";
/* CSS Document */

html{
	font-size:62.5%;
	overflow-y:scroll;
	overflow-x:hidden;
}
body{
	font-size:1.4em;
	font-family:"メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	background:url(../images/fish_bg.jpg) repeat;
}
i{
	font-size:1.3em;
	margin:0 0 0 5px;
}
.privacypolicy {
    color: #737373;
 	font-size:0.9em;
   text-align: center;
    margin: 25px 0 0 0;
}
dl#domainPermission {
	background: #FFD5D5;
	margin: 10px 0 0 0;
	padding: 10px;
	border-radius: 10px;
	display: inline-block;
}
dl#domainPermission dt {
	font-weight: bold;
}
dl#domainPermission dd {
	line-height: 1.6;
}
dl#apology {
	margin: 30px auto;
	padding: 20px;
	border: 5px solid #F00;
}
dl#apology dt {
	font-size: 1.6em;
	font-weight: bold;
	margin: 0 0 20px;
}
dl#apology dd {
	line-height: 1.6;
}
#terms_title{
	font-weight:bold;
	margin:30px 0 5px 0;
}
ul#terms_list{
	background:#FFFFEA;
	margin:0 0 20px 0;
	padding:10px;
	border:1px solid #CCC;
}
ul#terms_list li{
	color:#00F;
	line-height: 1.5;
	list-style-type:decimal;
	margin:0 0 15px 20px;
}
ul#terms_list li:last-child{
	margin:0 0 0 20px;
}
input[type=checkbox]{
	width:10px;
}
input.terms_s{
	width:20px;
	height:20px;
	margin:0 0 5px 0;
}

/***************************************************
　schedule・radio
***************************************************/
ul#survival_list{
	margin: 30px 0 0 0;
}
ul#survival_list li{
	list-style-type:none;
	text-align:center;
	line-height:1.5;
	width:33.3%;
	border:1px solid #CCC;
	margin:0 10px 20px 0;
	padding:10px 0;
	-moz-border-radius:1rem;
	-webkit-border-radius:1rem;
	border-radius:1rem;
	background: #FBE4DE;
}
ul#survival_list li:nth-child(n + 5){
	background: #DAF0E3;
}
ul#survival_list li.fix{
	color:#FFF;
	background:#666;
}
ul#survival_list li:last-child{
	margin:0 0 20px 0;
}
.survival_type{
	font-weight:bold;
	border-bottom:1px dotted #999;
	margin:0 0 10px 0;
	padding:0 0 5px 0;
}
.survival_cout{
	color: #1F47FF;
	font-size: 1.5em;
	font-weight:bold;
}

input[type=radio]{
	display:none; 	/* ラジオボタンを非表示にする */
}
input[type="radio"]:checked + label{
	color:#FFF;
	background:#333;
}
input[type="radio"]:checked + label.child_none{
	background:#999;
}
label:hover{
	color:#FFF;
	background:#AAA;
	cursor:pointer;
}
label{
	float:left;
	color:#333;
	line-height: 1.6;
	text-align:center;
	width: 110px;
	margin:0 10px 10px 0;
	padding:10px 0;
	border:2px solid #333;
	border-radius:5px;
	display:block;
	cursor:pointer;
}
label.child_none,
label.child_none:hover{
	color:#FFF;
	background:#CCC;
}
ul.child_list{
}
ul.child_list li{
	list-style-type:none;
	margin:0 0 10px 0;
}
ul.child_list li:last-child{
	margin:0;
}
dl.child_input{
}
dl.child_input dt{
	font-weight:bold;
	line-height:30px;
	height:30px;
	margin:0 10px 0 0;
}
dl.child_input dd{
}
dl.child_input dd input{
	width:100px;
}

/***************************************************
　cms
***************************************************/
.cms_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
	margin: 0 0 20px 0;
}
ul.cms_state {
    display: flex;
}
ul.cms_state li {
    list-style-type: none;
    margin: 0 20px 0 0;
}
.csv_btn button {
    color: #FFF;
	font-size: 0.8em;
    font-weight: normal;
    border: none;
    background: #626262;
    border-radius: 5px;
    padding: 3px 10px;
}
.csv_btn button:hover {
    cursor: pointer;
    background: #989898;
}
ul#hw_navi{
	width:100%;
	display:table;
	margin:0 0 30px 0;
	border-top:1px solid #CCC;
	border-left:1px solid #CCC;
}
ul#hw_navi li{
	display:table-cell;
	text-align:center;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
ul#hw_navi li a{
	color:#FFF;
	text-decoration:none;
	padding:15px 0;
	background:var(--title-color);
	display:block;
}
ul#hw_navi li a:hover,
ul#hw_navi li a:active{
	color:#FFF;
	background:var(--title-hover-color);
}
.hw_content{
	display:none;
}

.hw_content:target{
	display:block;
}
.hw_non{
	color:#FFF;
	background:#333;
	margin:0 0 4px 0;
	padding:3px 10px;
    -moz-border-radius:1rem;
    -webkit-border-radius:1rem;
    border-radius:1rem;
}
th.re_title{
	font-size:2.0em;
	background:#333;
}
.hw_title{
	font-size:1.4em;
	font-weight:bold;

	display:flex;
	justify-content:space-between;
	-ms-flex-pack:justify; /*IE10*/
	-webkit-box-pack:justify; /* Android4.3以下、Safari3.1〜6.0 */
	-webkit-justify-content:space-between; /* Safari6.1以降 */
}
.hw_mail,
.hw_send{
	color:#FFF;
	background:#03F;
	margin:0 0 0 20px;
	padding:2px 15px;
    -moz-border-radius:1rem;
    -webkit-border-radius:1rem;
    border-radius:1rem;
}
.hw_mail{
	cursor:pointer;
}
.hw_mail:hover{
	background:#999;
}
.hw_send{
	background:#333;
}

/***************************************************
　step
***************************************************/
.stepBar{
	position:relative;
	list-style:none;
	margin:0 0 1em;
	padding:0;
	text-align:center;
	width:100%;
	overflow:hidden;
	*zoom:1;
}
.stepBar .step{
	position:relative;
	float:left;
	display:inline-block;
	line-height:40px;
	padding:0 40px 0 20px;
	background-color:#eee;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
.stepBar .step:before, .stepBar .step:after{
	position:absolute;
	left:-15px;
	display:block;
	content:'';
	background-color:#eee;
	border-left:4px solid #FFF;
	width:20px;
	height:20px;
}
.stepBar .step:after{
	top:0;
	-moz-transform:skew(30deg);
	-ms-transform:skew(30deg);
	-webkit-transform:skew(30deg);
	transform:skew(30deg);
}
.stepBar .step:before{
	bottom:0;
	-moz-transform:skew(-30deg);
	-ms-transform:skew(-30deg);
	-webkit-transform:skew(-30deg);
	transform:skew(-30deg);
}
.stepBar .step:first-child{
	-moz-border-radius-topleft:4px;
	-webkit-border-top-left-radius:4px;
	border-top-left-radius:4px;
	-moz-border-radius-bottomleft:4px;
	-webkit-border-bottom-left-radius:4px;
	border-bottom-left-radius:4px;
}
.stepBar .step:first-child:before, .stepBar .step:first-child:after{
	content:none;
}
.stepBar .step:last-child{
	-moz-border-radius-topright:4px;
	-webkit-border-top-right-radius:4px;
	border-top-right-radius:4px;
	-moz-border-radius-bottomright:4px;
	-webkit-border-bottom-right-radius:4px;
	border-bottom-right-radius:4px;
}
.stepBar .step.current{
	color:#FFF;
	background-color:#FF540C;
}
.stepBar .step.current:before, .stepBar .step.current:after{
	background-color:#FF540C;
}
.stepBar.step2 .step{
	width:50%;
}
.stepBar.step3 .step{
	width:33.333%;
}

/***************************************************
　table
***************************************************/
table{
	vertical-align:middle;
	width:100%;
	border-top:1px solid #CCC;
	border-left:1px solid #CCC;
	margin:20px 0 0 0;
}
table th{
	text-align:left;
	vertical-align:middle;
	width: 70px;
	background:#FFFFEA;
	padding:10px;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
	white-space: nowrap;
}
table td{
	padding:10px;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
.f_requre{
	color:#FFF;
	font-size:0.6rem;
	font-weight:normal;
	vertical-align:middle;
	margin:0 0 0 10px;
	padding:2px 5px;
	background:#F00;
	-moz-border-radius:2rem;
	-webkit-border-radius:2rem;
	border-radius:2rem;
}
input{
	width:50%;
	padding:4px;
}
input:focus,
select:focus,
textarea:focus{
	background:#FFFFCC;
}
select{
	padding:4px;
}
textarea{
	width:80%;
	height:200px;
	padding:4px;
}
input.set_name{
	width:80px;
}
input.set_mail1{
	width:130px;
}
input.set_mail2{
	width:110px;
}
input.set_post,
input.set_tel{
	width:55px;
}
.custom-radio{
	display:none;
}
#jump_url,
#form_btn_1{
	width:400px;
	margin:20px auto 0 auto;
}
#jump_url {
	text-align: center;
}
#jump_url a,
#form_btn_1 button,
#form_btn_2 #form_btn_l button,
#form_btn_2 #form_btn_r button{
	color:#FFF;
	font-weight:bold;
	width:400px;
	height:40px;
	background:#333;
	border:0;
		-moz-border-radius:0.4rem;
		-webkit-border-radius:0.4rem;
		border-radius:0.4rem;
	cursor:pointer;
	outline:none;
}
#jump_url a {
	line-height: 40px;
	text-decoration: none;
	display: block;
}
#form_btn_2 #form_btn_r button{
	color:#333;
	background:#999;
}
#jump_url a:hover,
#form_btn_1 button:hover,
#form_btn_2 #form_btn_l button:hover{
	background:#999;
}
#form_btn_2 #form_btn_r button:hover{
	background:#999;
}
#jump_url a i,
#form_btn_1 button i,
#form_btn_2 #form_btn_l button i,
#form_btn_2 #form_btn_r button i{
	vertical-align:middle;
	margin:0 10px 0 0;
}
#form_btn_2{
	width:820px;
	margin:0 auto 20px auto;
	overflow:hidden;
}
#form_btn_2 #form_btn_l,
#form_btn_2 #form_btn_r{
	float:left;
	width:400px;
}
#form_btn_2 #form_btn_r{
	float:right;
}

/**************************************************
　base
***************************************************/
h1,
#checkText {
	color: #5A5A5A;
	font-size:4rem;
	font-weight: bold;
	margin:10px 0;
	padding: 20px 30px;
	border:10px solid #5A5A5A;
	display: inline-block;
	border-radius: 10px;
}
h2{
	color: #FFF;
	font-size:2.0rem;
	line-height: 1.5;
	padding:20px;
	background: var(--title-color);
	-moz-border-radius:1rem;
	-webkit-border-radius:1rem;
	border-radius:1rem;
}
#checkText {
	font-size:2.4rem;
	width: 100%;
	padding: 8px 0;
	border: none;
	border-radius: 0;
	border-bottom:5px solid #5A5A5A;
}
#contents{
	width:900px;
	margin:100px auto;
	padding:30px;
	background:#FFF;
	border:4px solid var(--border-color);
}
#contents p{
	line-height:1.4;
}
#contents p.top{
	margin: 20px 0 0 0;
}
header {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 20px 0;
}
header p {
	font-size:2rem;
	font-weight: bold;
}
header p.sub {
	color: #6A6A6A;
}
#result{
	position:fixed;
	right:0px;
	bottom:0px;
	left:0px;

	color:#FFF;
	font-size:1.6rem;
	font-weight:bold;
	text-align:center;
	line-height:60px;
	width:100%;
	height:60px;
/*	background:#06F;*/
	background:rgba(0,0,255,0.8);
	padding:10px 0;
	display:none;
}

/**************************************************
　ページ共通
***************************************************/
#alpha{/* 透過 */
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter:"alpha( opacity=80 )";
}

.flex_box{
	display:flex;
	display:-ms-flexbox; /* IE10 */
	display:-webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display:-webkit-flex; /* Safari6.1以降 */
}
.flex_sb{
	display:flex;
	justify-content:space-between;
	-ms-flex-pack:justify; /*IE10*/
	-webkit-box-pack:justify; /* Android4.3以下、Safari3.1〜6.0 */
	-webkit-justify-content:space-between; /* Safari6.1以降 */
	align-items:center;
/*	align-items:flex-start;*/
}
.flex_wrap{
	display:flex;
	flex-wrap:wrap;
	-ms-flex-wrap:wrap; /*IE10*/
	-webkit-flex-wrap:wrap; /* Safari6.1以降 */
	justify-content:space-around;
}

.gradation{/* グラデーション */
	background:linear-gradient(#FFF,#E6E6E6);
}

.text_shadow{/* テキストシャドウ */
	text-shadow:1px 1px 2px #333;
}

.text_hidden{/* HTML側のテキストを非表示にして、CSS側で画像を表示するコード */
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
.kadomaru{/* BOXエリアを角丸にするコード */
		-moz-border-radius:1rem;
		-webkit-border-radius:1rem;
		border-radius:1rem;
}
.box_shadow{/* BOXエリアに影をつけるコード */
	/* box-shadow */
	box-shadow:rgba(0, 0, 0, 0.21) 5px 5px 6px -2px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.21) 5px 5px 6px -2px;
	-moz-box-shadow:rgba(0, 0, 0, 0.21) 5px 5px 6px -2px;
}
/***************************************************
　new schedule
***************************************************/
/* 2日分のカードを横に並べるグリッド */
.schedule-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin: 0 0 20px 0;
}

.schedule-day {
    background: #f4f8fb;
    border-radius: 12px;
    padding: 15px;
    border: 1px solid #d9e2ec;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.schedule-day:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(74, 144, 226, 0.12);
}

.date-header {
    color: #2980b9;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #d9e2ec;
}

/* 時間帯を2列で配置 */
.time-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.time-slot {
    background: #ffffff;
    padding: 14px 12px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    color: #34495e;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* マウスホバー時の爽やかなアクション */
.time-slot:hover {
    background: #e1f5fe;
    color: #01579b;
    border-color: #81d4fa;
}
