* {
	margin: 0px;
	padding: 0px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
img{
	border:0;
	vertical-align:middle;
}
body {
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	font-size:16px;
	line-height:1.4;
	text-align: center;
}


	
p { line-height:1.6;}

ul,li{
	list-style: none;
}
.pc { display:block; }
.sp { display:none; }

.mt10 {margin-top:10px!important; }
.mt20 {margin-top:20px!important; }
.mt30 {margin-top:30px!important; }
.mb30 {margin-bottom:30px!important; }
.mb100 {margin-bottom:100px!important; }
.tac { text-align: center; }
.f14 { font-size: 14px;}
.red { color:#f00; }
    @media only screen and (max-width: 750px) {
        body { font-size:4vw;}
        input,
        textarea,
        select,
        option {
            font-size:100%;
        }
        .pc { display:none; }
        .sp { display:block; }

        #ui-datepicker-div {
            left:50px!important;
            width:70%;
        }
    }


/*  リンク ----------------------------------------------------------------- */
a:link,
a:visited,
a:hover,
a:active {
	color:#aa002b;
	border-bottom: #aa002b 1px dashed;
	text-decoration:none;
}
/* 全体 ----------------------------------------------------------------- */
.wrap{
	width:900px;
	margin: 15px auto;
	background: #fff;
	padding-top: 20px;
}
#formarea{
	text-align: left;
}
h1 {
    text-align: center;
}
h1 img {
    width: 100px;
    height:auto;
}
h2 {
	font-size:25px;
	text-align:center;
	margin: 0 0 10px;
	padding: 7px;
}

ul.details li {
	text-indent:-1em;
	padding-left:1em;
	margin-bottom: 10px;
}
.red,
sup{ color:#f00;}

@media only screen and (max-width: 750px) {
.wrap{
	width:100%;
	margin: 15px auto;
	background: #fff;
	padding-top: 20px;
}
#formarea{
	width: 95%;
	margin:auto;
}

body.bmh h1 img {
    width: 30%;
    height:auto;
}
body.bmh h2{
	font-size:5vw;
	text-align:center;
	margin: 0 0 30px!important;
	padding: 7px;
	line-height:1.4;
}
}

/*table--------------------------*/
table.main {
	width:1000px;
	margin-top:3em;
	border-collapse: collapse ;
}
table.main th {
	width:240px;
	background-color:#eee;
	border:#ccc 1px solid;
	padding:1em 1em;
	text-align:left;
	vertical-align:top;
}
table.main td {
	width:760px;
	padding:.5em 1em;
	border:#ccc 1px solid;
}

th span.r::after {
	content:"必須";
	background-color:#aa002b;
	color:#fff;
	font-size:80%;
	padding:.2em .3em;
	display:inline-block;
	margin-left:1em;
}

th span.rs::after {
	content:"必須";
	background-color:#b5667a;
	color:#fff;
	font-size:80%;
	padding:.2em .3em;
	display:inline-block;
	margin-left:1em;
}

th small,
td span {
	font-size:90%;
}
td ul li {
	float:left;
	margin-left:2em;
	line-height:1.6;
}
td ul li:first-child {
	margin-left:0em;
}
td ul::after {
  content: "";
  display: block;
  clear: both;
}
table.cake {
	width:100%;
	margin-top: 0;
	border-collapse: collapse ;
}
table.cake th {
	width:60%;
	background-color:#fff;
	border: none;
	line-height: 160%;
	padding: 1em 0 0;
	text-align:left;
	vertical-align:top;
}
table.cake td {
	width:20%;
	padding: 1em 0 0;
	border: none;
	line-height: 160%;
}
	
@media only screen and (max-width: 750px) {
table.main {
	width:100%;
	margin-top:1em;
	border-collapse: collapse ;
	border-bottom:#ccc 1px solid;
}

table.main th,
table.main td {
	display:block;
	width:100%!important;
	border-bottom:none;
	position: relative;
}
td span {
	font-size:80%;
}


td ul li {
	float:none;
	display:block;
	margin-left:0em;
	line-height:1.6;
}
table.cake th {
	width:100%;
}
table.cake td {
	display: inline;
	width:50%!important;
}

}

/* input 部品 */
input,select {
	margin:5px 0;
	font-size:15px;
	padding:.3em;
}

input, select, textarea {
		font-family:Arial, Helvetica, sans-serif, "Times New Roman", Times, serif, "?l?r ?o?S?V?b?N", Osaka, "?q???M?m?p?S Pro W3";
}

input[type=text], textarea {
	padding:.3em;
	font-size:15px;
}

input[type=radio]:after {
  content: '';
}
input[type=submit],
input[type=reset],
input[type=button]  {
width:15em;
}


@media only screen and (max-width: 750px) {
input[type=text], textarea {
	padding:.3em;
	font-size:20px;
}

input[type=submit],
input[type=reset] {
width:80%;
margin:20px auto;
}
}

/* 注釈 */

.btmbtn{ text-align: center; margin: 15px 0 100px}
address{
	border-top: 1px solid #d4d4d4;
	padding-top: 5px;
	margin-top: 1em;
	font-size: x-small;
	font-style: normal;
	text-align:right;
}

textarea {
	display: block;
	width: 90%;
}
.m1 { ime-mode: disabled; } /*英数字入力モード*/
.m2 { ime-mode: active; } /*日本語入力モード*/

.w10 { width:10%; }
.w20 { width:20%; }
.w30 { width:30%; }
.w40 { width:40%; }
.w50 { width:50%; }
.w60 { width:60%; }
.w70 { width:70%; }
.w80 { width:80%; }
.w90 { width:90%; }
.w100 { width:100%; }

@media only screen and (max-width: 750px) {
.w10 { width:20%; }
.w20 { width:30%; }
.w30 { width:70%; }
.w40 { width:70%; }
.w50 { width:70%; }
.w60 { width:70%; }
.w70 { width:80%; }
.w80 { width:80%; }
.w90 { width:100%; }
.w100 { width:100%; }
.s20 { width:20%; }
.s30 { width:30%; }


.number1 .w50 { width:20%; }
}
ol {
	display:block;
	margin-top:.5em;
}
ol li {
	display:inline-block;
	float:left;
	margin-left:.5em;
	height:30px;
	vertical-align:baseline;
}
ol.none li {
	display:block;
	clear:both;
	margin-left:.5em;
	height:30px;
	vertical-align:baseline;
}

ol.none::after {
  content: "";
  display: block;
  clear: both;
}
*/


/*----------エラー・確認・完了ページ--------*/
.page2 p{ text-align: center; margin-bottom: 1em;}


div.main{
	width:1000px;
	margin:auto auto 20px;
	border:none!important;
	display:flex;
flex-wrap:wrap; 

}
div.main div{
	width:300px;
	float:left;
	background-color:#eee;
	border-top:#ccc 1px solid;
	border-left:#ccc 1px solid;
	border-right:#ccc 1px solid;
	text-align:left;
	padding:.3em 1em;
}
div.main > div:nth-of-type(2n) {
	width:700px;
	background-color:#fff;
	border-left:none;
	line-height: 160%;
	float:left;
}

div.main p,
div.sub p{
	color:#fff;
	width:100%;
}
p.tcc-m { background-color:#8799af; }
p.tcc-w { background-color:#6aa746; }


div.main::after,
div.sub::after {
  content: "";
  display: block;
  clear: both;
}
div.main > div:nth-last-child(2){
	border-bottom:#ccc 1px solid;
}

div.main > div:last-child,
.end {
	border-bottom:#ccc 1px solid;
}
div.sub > div {
	padding:.3em 1em;
	border-top:#ccc 1px solid;
	border-left:#ccc 1px solid;
	border-right:#ccc 1px solid;
}

div.sub > div.a {
	background-color:#eee;
	width:600px;
	float:left;
	text-align:left;
}
div.sub > div.b ,
div.sub > div.c {
	width:200px;
	float:left;
	border-left:none;
}



@media only screen and (max-width: 750px) {
div.main,
div.sub {
	width:95%;
	margin:auto auto 20px;
	border:none!important;
}

div.main div,
div.sub div{
	width:100%;
	float:none;
	background-color:#eee;
	border-top:#ccc 1px solid;
	border-left:#ccc 1px solid;
	border-right:#ccc 1px solid;
	text-align:left;
}
div.main > div:nth-of-type(2n) {
	width:100%;
	background-color:#fff;
	border-left:#ccc 1px solid;
	float:none;
}
div.main > div:nth-last-child(2){
	border-bottom:none;
}

div.tccm {
	background-color:#e5eefc!important;
}

div.sub > div.a {
	width:100%!important;
	background-color:#eee;
}

div.sub > div.b ,
div.sub > div.c{
	width:50%;
	background-color:#fff;
	float:left;
}
div.sub > div.b {
		border-left:#ccc 1px solid;
}

}
.btn {
	display:block;
	margin-top:30px;
	width:20em;
	text-align:center;
	border:#333 1px solid;
	padding:1em .5em;
	margin:auto;
}
@media only screen and (max-width: 750px) {
	.btn {
	width:100%;
	border:#333 1px solid;
	padding:.5em .5em;
	margin:0;
}
}

.modal_wrap input{
  display: none;
}
.modal_wrap img {
	width: 500px;
	height: auto;
}
.modal_overlay{
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.modal_trigger{
  position: absolute;
  width: 100%;
  height: 100%;
}

.modal_content{
  align-self: center;
  padding: 30px 30px 15px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
  transform: scale(0.3);
  transition: 0.5s;
}

.close_button{
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 30px;
  cursor: pointer;
}

.modal_wrap input:checked ~ .modal_overlay{
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content{
  transform: scale(1);
}

.open_button{
	display: inline-block;
	margin-left: 3em;
	color:#aa002b;
	border-bottom: #aa002b 1px dashed;
	text-decoration:none;
	position: relative;
}

.open_button::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 30px;
    background-image: url(/bmh/img/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
	left: -15px;
    top: 2px;
}

@media only screen and (max-width: 750px) {
.modal_wrap img {
	width: 100%;
	height: auto;
}
.modal_content{
  width: 90%;
  max-width: 100%;
}

}



table#bmhcake th,
table#bmhcake td {
	line-height: 180%;
}
ul.cake li {
	margin-left: 0em;
	line-height: 180%;
}
i {
	font-style: normal;
}
@media only screen and (max-width: 750px) {
	ul.cake li {
		margin-left: 0em;
		line-height: 160%;
		padding-bottom: 10px;
	}
	i {
		display: block;
		font-size: 80%;
		font-style: normal;
	}
}

table.main#bmhcake {
	width: 1000px;
	margin-top: 0;

}
#time1,
#time2 {
    display: none;
    margin:0px;
}
table.main#bmhcake th.bno,
table.main#bmhcake td.bno,
table.main#time1 th,
table.main#time1 td,
table.main#time2 th,
table.main#time2 td {
	border-top: none;
}

table.main#bmhcake td > ul.notes {
	margin:0 0 10px 30px;
}
table.main#bmhcake td > ul.notes li {
	font-size: 90%;
	line-height: 140%;
	text-indent:-1em;
	padding-left:1em;
}

#info {
	border: #ffc0cb 3px solid;
	text-align: left;
	padding: 1em 1em 1em 2em;
	text-indent: -1em;
}
