
@charset "UTF-8";

:root{
	/* 基本の色相, 彩度, 輝度 */
	--hue: 211deg;
	--saturation: 0%;
	--lightness: 0%;

	/*
	--color1:  hsl(var(--hue) calc(var(--saturation) + 50%)  calc(var(--lightness) + 92%)); /* #e1eaf5 
	--color2:  hsl(var(--hue) calc(var(--saturation) + 100%) calc(var(--lightness) + 93%)); /* #dbedff 
	--color3:  hsl(var(--hue) calc(var(--saturation) + 51%)  calc(var(--lightness) + 80%)); /* #b1cae6 
	--color4:  hsl(var(--hue) calc(var(--saturation) + 100%) calc(var(--lightness) + 96%)); /* #ebf4ff 
	--color5:  hsl(var(--hue) calc(var(--saturation) + 63%)  calc(var(--lightness) + 65%)); /* #6fa3de 
	--color6:  hsl(var(--hue) calc(var(--saturation) + 57%)  calc(var(--lightness) + 77%)); /* #a3c3e6 
	--color7:  hsl(var(--hue) calc(var(--saturation) + 100%) calc(var(--lightness) + 69%)); /* #63acff 
	--color8:  hsl(var(--hue) calc(var(--saturation) + 100%) calc(var(--lightness) + 73%)); /* #73b6ff 
	--color9:  hsl(var(--hue) calc(var(--saturation) + 77%)  calc(var(--lightness) + 58%)); /* #4391e6 
	--color10: hsl(var(--hue) calc(var(--saturation) + 37%)  calc(var(--lightness) + 53%)); /* #5a84b3 
	--color11: hsl(var(--hue) calc(var(--saturation) + 29%)  calc(var(--lightness) + 87%)); /* #d5dee8 
	--color12: hsl(var(--hue) calc(var(--saturation) + 65%)  calc(var(--lightness) + 91%)); /* #d9e6f7 
	--color13: hsl(var(--hue) calc(var(--saturation) + 45%)  calc(var(--lightness) + 58%)); /* #6391c4 
	--color14: hsl(var(--hue) calc(var(--saturation) + 30%)  calc(var(--lightness) + 95%)); /* #f0f3f7 
	*/

	--color1:  #e1eaf5; /* #e1eaf5 */
	--color2:  #dbedff; /* #dbedff */
	--color3:  #b1cae6; /* #b1cae6 */
	--color4:  #ebf4ff; /* #ebf4ff */
	--color5:  #6fa3de; /* #6fa3de */
	--color6:  #a3c3e6; /* #a3c3e6 */
	--color7:  #63acff; /* #63acff */
	--color8:  #73b6ff; /* #73b6ff */
	--color9:  #4391e6; /* #4391e6 */
	--color10: #5a84b3; /* #5a84b3 */
	--color11: #d5dee8; /* #d5dee8 */
	--color12: #d9e6f7; /* #d9e6f7 */
	--color13: #6391c4; /* #6391c4 */
	--color14: #f0f3f7; /* #f0f3f7 */
	--color15: #ebf4fe; /* #ebf4fe */
	--color16: #6fa3dd; /* #6fa3dd */
	--color17: #6fa3dc; /* #6fa3dc */
	--color18: #6fa3db; /* #6fa3db */
	--color19: #6fa3da; /* #6fa3da */
	--color20: #a3c3e5; /* #a3c3e5 */
	--color21: #6fa3df; /* #6fa3df */
	--color22: #73b6fe; /* #73b6fe */
	--color23: #ffffff; /* #ffffff */
	--color24: #006eff; /* #006eff */
	--color25: #ff0000; /* #ff0000 */

}

html{
	font-size: 10px;
	height: -webkit-fill-available; /* iPhoneで上下のバーを抜いた高さにする設定 */
}

body{
	padding: 0;
	margin: 0;
	font-family: "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.8;
	min-height: 100vh;
	min-height: -webkit-fill-available; /* iPhoneで上下のバーを抜いた高さにする設定 */
	overflow-x: hidden;
	color: #4d4d4d;
	letter-spacing: 0.1em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

h1{
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.5;
	margin: 5.0rem 0;
	padding: 0 0 20px;
	border-bottom: 6px solid var(--color6);
}
h1 small{
	display: inline-block;
	font-size: 2.4rem;
	margin: 0 0 2.5rem 0;
}

h2{
	display: flex;
	align-items: center;
	text-align: left;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.4;
	background: linear-gradient(0deg, var(--color3) 0%, var(--color2) 100%);
	padding: 2rem 3rem;
	margin: 6.0rem 0 2.0rem;
	border-radius: 1rem;
}
h2 .num_box{
	margin-right: 20px;
}
h2 span{
	flex-grow: 1;
}

h3{
	display: flex;
	text-align: left;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.2em;
	border: 1px solid var(--color5);
	padding: 13px 0 13px 20px;
	margin: 4rem 0 2rem;
}
h3:before{
	content: "";
	width: 7px;
	background-color: var(--color5);
	margin: -3px 20px -3px 0;
}

h4{
	display: flex;
	text-align: left;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.2em;
	background-color: #f0f0f0;
	padding: 13px 0 13px 15px;
	margin: 4rem 0 2rem;
}
h4:before{
	content: "";
	width: 5px;
	background-color: var(--color5);
	margin: -3px 13px -3px 0;
}

strong{
	font-size: 2.0rem;
	font-weight: normal;
}

img,
svg{
	vertical-align: middle;
	max-width: 100%;
}

iframe{
	vertical-align: bottom;
	max-width: 100%;
}

a,
a:link,
a:visited{
	color: inherit;
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}

p a,
p a:link,
p a:visited{
	color: blue;
}

ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}
ul li{
	flex-basis: 45%;
	font-weight: bold;
	line-height: 1.3;
	padding-left: calc(1em + 3px);
	text-indent: calc(-1em - 3px);
	margin: 4px 0;
}
ul li:before{
	content: "■";
	letter-spacing: 0;
	margin-right: 3px;
}

ol{
	counter-reset: num;
	list-style-type: none;
	padding-left: 0;
}
ol li{
	display: flex;
}
ol li:before {
	counter-increment: num;
	content: '('counter(num)')';
	white-space: nowrap;
}

span.ib{
	display: inline-block;
}

header{
	text-align: left;
	font-weight: bold;
	padding: 0 0;
}

footer{
	position: sticky;
	top: 100vh;
	text-align: center;
	font-size: 1.4rem;
	background-color: var(--color11);
	padding: 3.0rem 0 4.0rem;
	margin: 5rem 0 0;
}

.page_width1{
	max-width: 100%;
	width: 1000px;
	margin: 0 auto;
}

.page_width2{
	max-width: 94%;
	width: 940px;
	margin: 0 auto;
}

.flow_outer{
	background-color: var(--color1);
}
.flow{
	display: flex;
	padding: 5px 0;
}
.flow .title{
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0;
	background-color: white;
	border-radius: 5px;
	padding: 0 20px;
	margin-right: 15px;
}
.flow .flow_num{
	display: flex;
	position: relative;
}
.flow .flow_num:before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	margin-top: -2px;
	border-top: 4px solid var(--color19);
	z-index: 1;
}
.flow .flow_num .num,
.num_box{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6rem;
	letter-spacing: 0;
	line-height: 1em;
	white-space: nowrap;
	color: white;
	background-color: var(--color19);
	border: 2px solid var(--color19);
	border-radius: 5px;
	min-width: 30px;
	margin-left: 30px;
	padding: 7px 0;
	z-index: 2;
}
.flow .flow_num .num:first-child,
.num_box{
	margin-left: 0;
}
.flow .flow_num .num.current,
.num_box{
	color: var(--color19);
	background-color: white;
}

table.type1{
	background-color: var(--color6);
	border-spacing: 0 1px;
	width: 100%;
	margin: 30px 0;
}
table.type1 th,
table.type1 td{
	vertical-align: middle;
	background-color: var(--color4);
	padding: 5px 7px;
}
.th_box1{
	text-align: center;
	color: white;
	background-color: var(--color7);
	white-space: nowrap;
	padding: 0.5rem 1.5rem;
	border-radius: 5px;
}
table.type1 td{
	vertical-align: middle;
	text-align: left;
	font-size: 2rem;
	letter-spacing: 0.2em;
	padding: 5px 7px 5px 15px;
	width: 90%;
}
table.type1 td img{
	max-width: 30px;
	max-height: 30px;
}

table.type2{
	border-spacing: 0 1px;
	width: 100%;
}
table.type2 th,
table.type2 td{
	vertical-align: middle;
	padding: 10px 40px 10px 10px;
}
table.type2 th{
	vertical-align: top;
	text-align: left;
	white-space: nowrap;
	padding: 15px 15px 0 0;
}
table.type2 td{
	text-align: left;
	/* letter-spacing: 0.2em; */
}

table.type3{
	border-spacing: 0 1px;
	width: 100%;
}
table.type3 th,
table.type3 td{
	vertical-align: middle;
	padding: 15px 7px;
	border-bottom: 1px solid var(--color6);
}
table.type3 th{
	text-align: left;
	white-space: nowrap;
	padding: 5px 45px 5px 25px;
}
table.type3 td{
	text-align: left;
}
table.type3 td:nth-of-type(1){
	width: 90%;
}
table.type3 .td1{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
table.type3 .chusyajo{
	white-space: nowrap;
}
table.type3 .daisu{
	/* display: inline-block; */
	/* text-align: center; */
	min-width: 60px;
	padding: 0 10px 0 0;
}

table.type4{
	border-spacing: 0 1px;
	width: 100%;
}
table.type4 .th_box1{
	padding: 0.1rem 1.5rem;
}
table.type4 th,
table.type4 td{
	vertical-align: middle;
	padding: 0.4rem 10px;
}
table.type4 td{
	vertical-align: middle;
	text-align: left;
	width: 90%;
}
table.type4 thead th,
table.type4 thead td{
	vertical-align: middle;
	background-color: var(--color4);
	border: 1px solid var(--color6);
	border-left: none;
	border-right: none;
	padding: 20px 10px;
}
table.type4 thead th .th_box1{
	padding: 1rem 1.5rem;
}
table.type4 thead td{
	vertical-align: middle;
	text-align: left;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 5px 7px 25px 10px;
	width: 90%;
}
table.type4 thead td small{
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-left: 20px;
	transform: translateY(-10px);
}
table.type4 ruby{
	ruby-position: under;
	-webkit-ruby-position: after;
}
table.type4 ruby rb{
	transform: translateY(-10px);
}
table.type4 ruby rt{
	transform: translateY(10px);
}
table.type4 tbody tr:nth-of-type(1) th,
table.type4 tbody tr:nth-of-type(1) td{
	padding-top: 13px;
}

table.type5{
	border-collapse: collapse;
	width: 100%;
}
table.type5 th,
table.type5 td{
	vertical-align: middle;
	text-align: center;
	padding: 4px 10px;
	border-right: 1px solid var(--color6);
	width: 12%;
}
table.type5 thead th{
	border-top: none;
	border-left: none;
}
table.type5 thead td{
	font-size: 1.4rem;
	line-height: 1.5;
	color: white;
	background-color: var(--color17);
	border: 1px solid var(--color6);
	padding: 5px 10px;
}
table.type5 thead td.heijitu{
	color: var(--color23);
}
table.type5 thead td.doyou{
	color: var(--color24);
	background-color: var(--color12);
}
table.type5 thead td.nitiyou{
	color: var(--color25);
	background-color: var(--color12);
}
table.type5 thead td .num{
	font-size: 1.6rem;
	font-weight: bold;
}
table.type5 tbody th{
	font-size: 1.3rem;
	line-height: 1.5;
	color: white;
	background-color: var(--color17);
	padding: 2px 2px;
}
table.type5 tbody tr:nth-of-type(2n) th{
	background-color: var(--color13);
}
table.type5 tbody tr:nth-of-type(2n) td{
	background-color: #f0f3f7;
}
table.type5 tbody tr:nth-of-type(8n) th,
table.type5 tbody tr:last-child th,
table.type5 tbody tr:nth-of-type(8n) td,
table.type5 tbody tr:last-child td{
	border-bottom: 1px solid var(--color6);
}

table.type6{
	border-collapse: collapse;
	width: 100%;
	margin: 20px 0;
}
table.type6 th,
table.type6 td{
	vertical-align: top;
	text-align: left;
	white-space: nowrap;
	font-weight: bold;
	padding: 0.8rem 2rem;
	border: 1px solid var(--color6);
	width: 12%;
}
table.type6 th{
	position: relative;
	background-color: #f0f3f7;
	padding: 1.3rem 2rem;
	min-width: 290px;
}
table.type6 th.hissu:after{
	content: "必須";
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	font-size: 1.3rem;
	color: white;
	background-color: #cc2727;
	border-radius: 4px;
	padding: 1px 6px;
}
table.type6 td{
	vertical-align: middle;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	background-color: white;
	width: 615px;
}
table.type6 table td{
	vertical-align: middle;
	/* text-align: left; */
	/* white-space: nowrap; */
	padding: 0.5rem 1rem 0.5rem 0;
	border: none;
}
table.type6 table td.input{
	width: 90%;
}
table.type6.type6_2 td{
	vertical-align: middle;
	font-size: 1.6rem;
}
table.type6.canceled th,
table.type6.canceled td{
	color: #cc2727;
}
table.type6.canceled th.title{
	color: white;
	background-color: #cc2727;
}

/*---------- type7追加（type6がベース） ----------*/
/* nowrapを削除                                   */

table.type7{
	border-collapse: collapse;
	width: 100%;
	margin: 20px 0;
}
table.type7 th,
table.type7 td{
	vertical-align: top;
	text-align: left;
	/* white-space: nowrap; */
	font-weight: bold;
	padding: 0.8rem 2rem;
	border: 1px solid var(--color6);
	width: 12%;
}
table.type7 th{
	position: relative;
	background-color: #f0f3f7;
	padding: 1.3rem 2rem;
	min-width: 290px;
}
table.type7 th.hissu:after{
	content: "必須";
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	font-size: 1.3rem;
	color: white;
	background-color: #cc2727;
	border-radius: 4px;
	padding: 1px 6px;
}
table.type7 td{
	vertical-align: middle;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	background-color: white;
	width: 615px;
}
table.type7 table td{
	vertical-align: middle;
	/* text-align: left; */
	/* white-space: nowrap; */
	padding: 0.5rem 1rem 0.5rem 0;
	border: none;
}
table.type7 table td.input{
	width: 90%;
}
table.type7.type7_2 td{
	vertical-align: middle;
	font-size: 1.6rem;
}
table.type7.canceled th,
table.type7.canceled td{
	color: #cc2727;
}
table.type7.canceled th.title{
	color: white;
	background-color: #cc2727;
}
/*---------- type7追加（type6がベース） ----------*/

.calendar_button{
	cursor: pointer;
	display: inline-block;
	width: 5rem;
	min-width: 0;
	margin: 0;
}

.tiku_list{
	margin: 20px 0;
}
.tiku{
	margin: 0 0 8px;
}
.tiku .tiku_title{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
	color: white;
	background-color: var(--color18);
	padding: 1rem 1.5rem 1rem;
	border-radius: 1rem;
}
.tiku .tiku_title .switch{
	cursor: pointer;
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%20width%3D%2213%22%20height%3D%229%22%3E%3Cpath%20fill%3D%22%234D4D4D%22%20d%3D%22M6.5.46.43%208.54h12.14z%22%2F%3E%3C%2Fsvg%3E) no-repeat right 50% top 50%;
	border-radius: 4px;
	width: 33px;
	height: 32px;
}
.tiku .switch_checkbox:checked ~ .tiku_title .switch{
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%229%22%3E%3Cpath%20fill%3D%22%234D4D4D%22%20d%3D%22M6.5%208.54%2012.57.46H.43z%22%2F%3E%3C%2Fsvg%3E) no-repeat right 50% top 55%;
}
.tiku label.tiku_title{
	cursor: pointer;
	margin-left: 0;
	transition: opacity 0.1s linear;
}
.tiku label.tiku_title:hover{
	opacity: 0.8;
}
.tiku .switch_checkbox ~ label.tiku_title:before,
.tiku .switch_checkbox ~ label.tiku_title:after{
	display: none;
}
input[type="checkbox"].switch_checkbox{
	display: none;
}
.tiku .table_outer,
.tiku .table_outer .box,
.tiku .table_outer button,
.tiku .table_outer th,
.tiku .table_outer td{
	transition: 0.4s ease-in-out;
	overflow: hidden;
}
.tiku .table_outer button{
	line-height: 1.6;
	transition: 0.4s ease-in-out, opacity 0.1s linear;
}
.tiku .table_outer button:hover{
	/* opacity: 1; */
}
.tiku .switch_checkbox:checked ~ .table_outer .box1,
.tiku .switch_checkbox:checked ~ .table_outer button,
.tiku .switch_checkbox:checked ~ .table_outer th,
.tiku .switch_checkbox:checked ~ .table_outer td{
	line-height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
	border-top: 0;
	border-bottom: 0;
}
.tiku .table_outer{
	opacity: 1;
	max-height: 100000px;
	overflow: hidden;
}
.tiku .switch_checkbox:checked ~ .table_outer{
	opacity: 0;
	max-height: 0;
}

.box1{
	display: inline-block;
	border: 1px solid #bdbdbd;
	padding: 2px 9px 0 10px;
	white-space: nowrap;
}

.box2{
	display: block;
	text-align: left;
	border: 1px solid var(--color6);
	background-color: var(--color14);
	padding: 3rem 0;
	width: 800px;
	max-width: 100%;
	margin: 2rem auto;
	font-weight: bold;
}
.box2 p{
	margin: 0 0 2.5rem;
}

.box3{
	display: block;
	text-align: left;
	font-weight: bold;
	border: 1px solid var(--color5);
	/* color: var(--color5); */
	background-color: var(--color14);
	padding: 2rem;
	/* width: 800px; */
	max-width: 100%;
	margin: 2rem auto;
}

.box4{
	display: block;
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	border: 1px solid var(--color5);
	background-color: var(--color14);
	padding: 2.5rem 1rem 3rem;
	/* width: 800px; */
	max-width: 100%;
	margin: 2rem auto;
}
.box4 .th_box1{
	font-size: 1.6rem;
	margin-right: 2rem;
}

.yoyaku_num{
	display: inline-flex;
	align-items: center;
	font-size: 2.6rem;
	border: 1px solid var(--color5);
	border-radius: 10px;
	background-color: white;
	padding: 1.1rem 2rem;
	margin: 0 0 2rem;
}

.box_red{
	display: block;
	text-align: left;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0;
	border: 1px solid #cc2727;
	color: #cc2727;
	background-color: #ffebeb;
	padding: 1rem 0;
	width: 800px;
	max-width: 100%;
	margin: 2rem auto;
}

.kari_uketuke{
	font-size: 1.8rem;
}

body .tel{
	text-decoration: none;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	color: var(--color21);
}
body .tel:before{
	content: "";
	display: inline-block;
	vertical-align: -5px;
	width: 33px;
	height: 33px;
	border-radius: 50px;
	margin-right: 1.8rem;
	background-color: var(--color21);
	background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2217%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M16.52%2014.67c-.09.29-.57.81-1.21%201.25-.75.5-1.61.64-2.13.58-.74-.08-4.71-1.63-7.87-4.71S.49%204.79.39%204.05C.31%203.52.42%202.66.9%201.9c.42-.66.93-1.15%201.21-1.25.34-.12%201.46-.22%201.85-.1.4.13.81.86%201.12%201.73.32.86.37%201.65.32%201.87-.07.3-1.03%201.03-1.25%201.1-.36.1-.68.31-.52.73.56%201.47%201.79%202.71%203.28%204.16%201.5%201.46%202.77%202.65%204.25%203.17.42.15.62-.18.71-.54.06-.22.76-1.2%201.06-1.28.21-.06%201-.03%201.88.26.87.29%201.62.68%201.76%201.07.13.38.05%201.5-.05%201.85z%22%2F%3E%3C%2Fsvg%3E);
	background-repeat: no-repeat;
	background-position: center;
}

.yoyaku_naiyou{
	background-color: floralwhite;
	padding: 1px 0 10rem;
	margin-bottom: -10rem;
}
.yoyaku_naiyou h3{
	border: none;
	padding-left: 0;
	/* margin: ; */
}

.anzendo{
	display: inline-block;
	background-color: var(--color14);
	padding: 0.3rem 3rem;
	margin: 5px 20px 5px 0;
}

.error{
	display: none;
	color: #f00;
	font-weight: bold;
}
.error .element{
	text-align: left;
}
.error .message{
	text-align: center;
}

.upd_message{
	text-align: center;
	color: rgb(0, 0, 0);
	font-weight: bold;
}

.button_row{
	text-align: center;
	margin: 90px 0;
}
.button_row button{
	margin: 0 25px;
}

.uketukechu{
	color: #4bb824;
}
.wazuka{
	color: #cc2b2b;
}
.uketuke_syuryou{
	color: #919191;
}

.year_month{
	text-align: left;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	/* margin: 30px 13%; */
	margin: 30px 0 30px 13%;
}
.week_buttons{
	display: flex;
	justify-content: space-between;
	margin: 7px 0 7px 12%;
}

p.type1{
	display: inline-block;
	font-weight: bold;
	color: white;
	background-color: var(--color5);
	border-radius: 10px;
	padding: 5px 10px;
	margin: 0;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="search"],
textarea{
	font-size: 1.6rem;
	font-weight: 400;
	box-sizing: border-box;
	border: 1px solid #cdcdcd;
	border-radius: 4px;
	padding: 1rem;
	/* margin: 0 1rem; */
	width: 100%;
	-webkit-appearance: none; /* iPhone の入力欄へのエフェクトを消す */
}

input.date{
	width: 120px;
}
input.text1{
	width: 120px;
}
input.text2{
	width: 270px;
}
input.text3{
	width: 270px;
}
input.yuubinbangou{
	width: 20rem;
}

textarea{
	height: 8em;
}

select {
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	line-height: 2;
	color: #2c3338;
	border: 1px solid #cdcdcd;
	box-shadow: none;
	border-radius: 3px;
	padding: 10px;
	padding: 3px 30px 2px 8px;
	/* margin: 0 1rem; */
	min-height: 30px;
/*	max-width: 25rem;  */
	max-width: 50rem;
	-webkit-appearance: none;
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%229%22%3E%3Cpath%20fill%3D%22%234D4D4D%22%20d%3D%22M6.5%208.54%2012.57.46H.43z%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
	background-size: 13px 9px;
	cursor: pointer;
	vertical-align: middle;
}

label{
	display: inline-block;
	font-weight: bold;
}
label input[type="checkbox"]{
	display: none;
}
/* チェックボックスの次に配置された span */
label input[type="checkbox"] + span{
	cursor: pointer;
	display: inline-block;
	position: relative;
	padding-left: 25px;
	padding-right: 10px;
	margin: 10px 0;
}
/* span の左に表示させる正方形のボックス□ */
label input[type="checkbox"] + span::before{
	content: "";
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	margin-top: -12px;
	left: 0;
	top: 50%;
	border: 1px solid;
	border-color: #000; /* 枠の色 */
	background-color: #f0f0f0; /* 背景の色 */
}
label input[type="checkbox"]:checked + span::before{
	border-color: var(--color7); /* 枠の色 */
	background-color: var(--color7); /* 背景の色 */
}
/* チェックが入った時のレ点 */
label input[type="checkbox"]:checked + span::after{
	content: "";
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 14px;
	height: 8px;
	margin-top: -8px;
	top: 50%;
	left: 3px;
	transform: rotate(-45deg);
	border-bottom: 3px solid;
	border-left: 3px solid;
	border-color: #fff; /* チェックの色 */
}

input[type="radio"]{
	display: none;
}
input[type="radio"]+label{
	cursor: pointer;
	display: inline-block;
	position: relative;
	padding-left: 30px;
	padding-right: 10px;
	margin-left: 20px;
}
input[type="radio"]+label::before{
	content: "";
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	border-radius: 50px;
	margin-top: -10px;
	box-shadow: 0 0 0 1px #000;
	left: 0;
	top: 48%;
	background-color: #f0f0f0;
}
input[type="radio"]:checked+label::before{
	border: 5px solid #b5d94a;
	background-color: #fff;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button{
	/* iOSでのデフォルトスタイルをリセット */
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;

	text-align: center;
	font-family: "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: #fff;
	background-color: var(--color5);
	border-radius: 7px;
	padding: 7px 0;
	/* min-width: 20rem; */
	margin: 0 15px;
	white-space: nowrap;
	transition: opacity 0.2s linear;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration{
	display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus,
button::focus{
	outline-offset: -2px;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover{
	opacity: 0.7;
}

body .button_type1,
body .button_back{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	text-shadow: 0 0 5px rgba(0,0,0,0.4);
	text-decoration: none;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.4;
	color: white;
	background: linear-gradient(0deg, var(--color9) 0%, var(--color8) 100%);
	border: 3px solid white;
	border-radius: 10px;
	box-shadow: 0 0 0 1px var(--color10);
	box-sizing: border-box;
	padding: 7px 15px 6px 20px;
	min-height: 9.2rem;
	margin: 5px 15px;
}
body .button_type1:disabled{
	cursor: default;
	text-shadow: none;
	color: #cccccc;
	background: #f3f3f3;
	box-shadow: 0 0 0 1px #c4c4c4;
}
body .button_type1:disabled:hover{
	opacity: 1;
}
body .button_type1 small{
	font-size: 1.6rem;
	font-weight: normal;
	letter-spacing: 0.1em;
}
.button_list1_1{
	display: flex;
	flex-direction: column;
}
body .button_type1.type1_1{
	padding-right: 50px;
	margin: 10px 0;
	min-height: 12.5rem;
}
body .button_type1.type1_1 .image{
	text-align: center;
	width: 100px;
}
body .button_type1.type1_1 .text{
	margin-left: 30px;
}
body .button_type1.type1_2{
	font-size: 2.5rem;
}
body .button_type1.type1_2:after{
	content: "";
	background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2234%22%20height%3D%2238%22%3E%3Cimage%20overflow%3D%22visible%22%20opacity%3D%22.4%22%20width%3D%2234%22%20height%3D%2238%22%20xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACIAAAAmCAYAAACh1knUAAAACXBIWXMAAAsSAAALEgHS3X78AAAA%20GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAxVJREFUeNrMmItu0zAUhpPYbdd2%20FzqYoEMTiL3%2FI3GHjTHYxrrem4YT9BmdGSdNogKL9Cutm8ZfztVOHBUfcVTtyKItHHHJWOx9LgLI%20vM%2BNDhuAyJV4ij0YN%2FnaU2OYOABhAGwhy1jigaSilWiJVoytm8DYgCXyyXdEXVGfzx0PJmXymWiC%20pqIFQLVhrGcRA0gOMUCPFJDhunyyuWgkuhFdc75jfFkXJhQjBgvsih6LnnLeAybBIlMmvxSd8wAJ%20cFFdGFswnvBbF4vkME%2BAaXPNDEt8EfUUiI67yjDWC8C18v9C3cgw2QAYy2%2BHfNcx5Kd6JRhTkr4u%20XjpA9HGXO%2FdUIDtr6IdxyqpYxFSopC5u2ky6owDaqKUCuRGMDVTKlMhPlGV8ud%2B6WCYKVOPQUegm%20U9I%2F9JOt1Q1cIOui11JjpombbAHEGvqq1dlZpmqj%2FMMytsQiVWFisqfnuanIyk73KrDd8McyGD%2FD%20jGoLOlYy1ZvSgKt%2FXWNqrDmygnhxKd5VmdRSmZRwvWsLc2rUvQZpajbJtbJUjEV1nempuqKbpIOY%20eg3y9%2FLB1AhIvwW4Lr1HGzhQ%2FagVgMgb4g%2FRrWqOK2ftJHogR1LzWqPiYRcr7KtlgsV6KaafeJYY%200yyXfl2xFd3iiphzhVseDEXP1DKhxY3nTHolumCZkHfpbwDNVLBGVUD8Vds%2By4Fj0Qv0XHSEVQxP%20m1viu%2BhM9B59Yu1y68XHRpAQxBETvxS9AmSIizo8oYZ4J3oDyDkWGquMyTal7yaIU87HuKXL%2F6Ye%20xGvOn3HLSFljY4mvA3GoICY8cQjiUsVGsAMnFQJTx4R2x9YgQqt4vXjuM1meFSdY4YTvA0Az3HHF%20pC4makGEXKOt4TJkiFtcmva5ZsUENwRiY4iyDVYXtwywygF9xJD%2FY26eB99X0QfRW7KjNkTINXrR%203FY9IyUOroHwtxMfgTnzilaj7YTfZVdqE2UAKdtgXZC6o7oQIZBMLZ7vuHFKr%2FhnW85Mba6mjC2A%20%2BOub8AfzWiLe8ouaLNrCi5r%2F%2Buoqfigv834KMAC4w4ChtmWZ%2FQAAAABJRU5ErkJggg%3D%3D%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M15.09%206.55%2027.4%2018.86%2015.09%2031.17H6.97l12.27-12.36L6.96%206.53z%22%2F%3E%3C%2Fsvg%3E);
	background-repeat: no-repeat;
	/* background-position: 90% 50%; */
	width: 34px;
	height: 38px;
	margin-left: 40px;
}
body .button_type1.type1_2:disabled:after{
	background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2234%22%20height%3D%2238%22%3E%3Cpath%20fill%3D%22%23CCC%22%20d%3D%22M14.99%206.53%2027.3%2018.84%2014.99%2031.15H6.87l12.27-12.36L6.86%206.52z%22%2F%3E%3C%2Fsvg%3E);
}

body .button_back{
	justify-content: space-between;
	text-shadow: none;
	box-shadow: none;
	min-width: 220px;
	color: #9a9a9a;
	background: #f3f3f3;
	border: 1px solid #9a9a9a;
	transition: 0.2s linear;
}
body .button_back:hover{
	color: white;
	background: var(--color22);
	border-color: var(--color7);
	opacity: 1;
}
body .button_back:after{
	content: "";
	background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2234%22%20height%3D%2230%22%3E%3Cpath%20fill%3D%22%239A9A9A%22%20d%3D%22M22.42%207.29H7.79l6.95-7H9.03L.37%208.95l8.66%208.66%205.72.01-6.96-6.96h14.64c4.32%200%207.84%203.52%207.84%207.84s-3.52%207.84-7.84%207.84h-10.4v3.37h10.39c6.18%200%2011.21-5.03%2011.21-11.21%200-6.18-5.03-11.21-11.21-11.21z%22%2F%3E%3C%2Fsvg%3E);
	background-repeat: no-repeat;
	/* filter: hue-rotate(var(--hue)) saturate(0) brightness(2.5); */
	width: 34px;
	height: 30px;
	margin-left: 20px;
	transition: opacity 0.2s linear;
}
body .button_back:hover:after{
	/* filter: hue-rotate(var(--hue)) saturate(0.3) brightness(2.5); */
	opacity: 0.8;
}

body .button_type2{
	text-decoration: none;
	color: var(--color16);
	background-color: var(--color15);
	border: 1px solid var(--color16);
	border-radius: 4px;
	box-sizing: border-box;
	padding: 7px 11px 6px 15px;
}

body .button_type2:disabled{
	cursor: default;
	text-decoration: none;
	color: #cccccc;
	background-color: #f3f3f3;
	border: 1px solid #c4c4c4;
	border-radius: 4px;
	box-sizing: border-box;
	padding: 7px 11px 6px 15px;
}
body .button_type2:disabled:hover{
	opacity: 1;
}

body .button_type3{
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--color21);
	background-color: white;
	border: 1px solid var(--color21);
	border-radius: 4px;
	box-sizing: border-box;
	padding: 5px 40px 5px 15px;
}
body .button_type3:hover{
	opacity: 0.8;
}
body .button_type3:after{
	content: "";
	width: 15px;
	height: 15px;
	box-shadow:
		1px 1px 0 0 var(--color21),
		2px 2px 0 0 var(--color21),
		3px 3px 0 0 var(--color21),
		4px 4px 0 0 var(--color21),
		5px 5px 0 0 var(--color21);
	transform: rotate(315deg) translate(10px, 10px);
}

body .button_type4{
	display: inline-block;
	font-weight: bold;
	color: white;
	background: linear-gradient(0deg, var(--color9) 0%, var(--color8) 100%);
	text-shadow: -1px -1px 0 rgba(0,0,0,0.3), 1px 1px 0 rgba(255,255,255,0.3);
	border: 2px solid var(--color10);
	border-radius: 10px;
	padding: 3px 10px;
}

body .button_type4:disabled{
	cursor: default;
	display: inline-block;
	font-weight: bold;
	color: #cccccc;
	background: linear-gradient(0deg, var(--color14) 0%, var(--color14) 100%);
	text-shadow: -1px -1px 0 rgba(0,0,0,0.3), 1px 1px 0 rgba(255,255,255,0.3);
	/* background-color: var(--color14); */
	border: 2px solid #c4c4c4;
	border-radius: 10px;
	padding: 3px 10px;
}
body .button_type4:disabled:hover{
	opacity: 1;
}
/* @media (min-width: 769px) {
	.sp{
		display: none !important;
	}
} */



@media (max-width: 768px) {
	.pc{
		display: none !important;
	}

	html{
		font-size: 10px;
	}

	h2{
		margin-left: 3%;
		margin-right: 3%;
	}

	h3{
		/* border-left: 5px solid #b5d94a; */
		padding: 10px 0 10px 13px;
	}

	ol{
		padding-left: 4rem;
	}

	header.page_width1{
		width: 94%;
	}
	header .logo img{
		max-width: 45vmin;
	}

	input[type="checkbox"]+label{
		padding-left: 20px;
		padding-right: 10px;
		margin-left: 20px;
	}
	input[type="checkbox"]+label::before{
		width: 15px;
		height: 15px;
		margin-top: -8px;
	}
	input[type="checkbox"]:checked+label::after{
		width: 11px;
		height: 6px;
		margin-top: -5px;
		top: 50%;
		left: 2px;
		border-bottom: 2px solid;
		border-left: 2px solid;
		border-color: #fff;
	}

	input[type="radio"]+label{
		padding-left: 25px;
	}
	input[type="radio"]+label::before{
		width: 15px;
		height: 15px;
		margin-top: -8px;
	}
	input[type="radio"]:checked+label::before{
		border: 4px solid #b5d94a;
	}

	body .button_type1,
	body .button_back{
		/* padding: 0; */
	}
	body .button_type1.type1_1 .image{
		width: 70px;
	}
	body .button_type1 img{
		max-width: 65px;
		max-height: 65px;
	}

	body .button_type1.type1_2{
		padding-right: 1px;
	}
	body .button_type1.type1_2:after{
		background-size: 28px 32px;
		margin: 5px 0 0 10px;
	}

	.flow{
		padding: 5px 3%;
	}
	.flow .flow_num .num, .num_box{
		min-width: 25px;
		margin-left: 25px;
	}
	.flow .flow_num .num:first-child, .num_box{
		margin-left: 0;
	}

	table.type3 .td1{
		display: block;
		flex-direction: column;
	}
	table.type3 .chusyajo{
		margin-top: 5px;
	}
	.box1{
		padding-top: 0;
	}
	table.type3 .daisu{
		text-align: left;
	}

	table.type5 th, table.type5 td{
		padding: 1.2rem 0;
	}

	table.type6,
	table.type6 tbody,
	table.type6 tr,
	table.type6 th,
	table.type6 td{
		display: block;
		box-sizing: border-box;
		width: 100%;
	}
	table.type6 table{ display: table; }
	table.type6 table tbody{ display: table-row-group; }
	table.type6 table tr{ display: table-row; }
	table.type6 table th{ display: table-cell; }
	table.type6 table td{ display: table-cell; }

	table.type6 table tr td:first-child{
		width: 200px;
	}
	table.type6 th.hissu:after{
		position: static;
		display: inline-block;
		margin-left: 2rem;
	}
	/*---------- type7追加（type6がベース） ----------*/
	table.type7,
	table.type7 tbody,
	table.type7 tr,
	table.type7 th,
	table.type7 td{
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	table.type7 table{ display: table; }
	table.type7 table tbody{ display: table-row-group; }
	table.type7 table tr{ display: table-row; }
	table.type7 table th{ display: table-cell; }
	table.type7 table td{ display: table-cell; }

	/* table.type7 table tr td:first-child{
		width: 200px;
	} */
	table.type7 th.hissu:after{
		position: static;
		display: inline-block;
		margin-left: 2rem;
	}
	/*---------- type7追加（type6がベース） ----------*/

	input[type="text"],
	input[type="email"],
	input[type="number"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="datetime-local"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="search"],
	textarea,
	select{
		/* max-width: 90%; */
		/* margin: 0 5%; */
	}

	/* .myStoreName {
		float: none !important;
		width: 0;
	} */

	/* .myStoreInfo {
		float: none !important;
	} */

	input.text1{
		width: 100px;
		margin: 0;
	}
	input.text2{
		width: 200px;
		margin: 0;
	}
	input.yuubinbangou{
		margin: 0;
	}
	input.date{
		margin: 0;
	}

    select.todoufuken{
        /* margin: 0 5%; */
    }
        
	body .button_back{
		min-width: 160px;
		padding: 4px 10px 3px 15px;
	}
	body .button_back:after{
		background-size: 25px 22px;
		margin-top: 3px;
	}

	.box4{
		letter-spacing: 0;
	}

	.anzendo{
		margin-left: 5%;
	}
	.anzendo + label{
		position: relative;
		top: 2px;
	}
	.myCalHeader {
		display: block!important;
		margin: 30px 0 30px 13%;
	}
	.year_month{
		margin: 30px 0 30px 0;
	}
}

img.ui-datepicker-trigger{
    margin-left: 7px!important;
}

.myCalHeader{
	display: flex;
	justify-content: space-between;
}

.myHanrei{
	margin: 30px 0 30px 0;
}

.myVisitDate{
	white-space :nowrap;
	padding-right :25px;
}

.myWidth{
	width :100%;
}

.myMargin{
	margin :0px 0px;
}

.myPlaceHolder::placeholder{
	font-size: 11px;
}

.errElement{
	color: red;
	display: none;
	white-space: normal;
}

.myStoreName {
	/* float: left; */
	font-weight: bold;
	/* width: 0; */
}

/* .myStoreInfo {
	float: left;
} */
.myStoreInfo div{
	margin-left: 15px;
}

.myConsulBtn{
	padding: 0px !important;
}

.myTextCenter{
	text-align: center !important;
}

.myPadding{
	padding:0 20px;
}