@charset "utf-8";

/* ============================================================
reset
============================================================ */

body, div, span, p, caption, form { margin: 0; padding: 0; vertical-align: baseline; -webkit-text-size-adjust:100%; }

h1, h2, h3, h4, h5, h6 { clear: both; font-size: 100%; font-weight: normal; margin: 0; padding: 0; }

ul, ol, li, dl, dt, dd { list-style: none outside none; margin: 0; padding: 0; }

/*input, select, textarea { font-size:14px; width: 100%; padding: 7px; }*/
input[type=text]:focus, input[type=tel]:focus, input[type=email]:focus, textarea:focus { background-color: #fffbf4; border: 1px solid #669ec5; }

.clr { clear: both; }
.clearfix, .contents, .left, .right, .inner, dl, ul { min-height: 1px; }
.clearfix:after, .contents:after, .left:after, .right:after, .inner:after, dl:after, ul:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}
*html .clearfix, *html .contents, *html .left, *html .right, *html .inner, *html dl, *html ul { height: 1px; }

*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* ============================================================
general
============================================================ */

body { position: relative; }
body, th, td { background-color: #fff; color: #333; font: 14px/1.5 "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }
.inner { margin: 0 auto; width: 950px; }

.smp, .smp2 { display: none; }
.contentsbox a, .contentsbox a img { border: none; color: #333; text-decoration: none; -webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; -o-transition: 0.5s; transition: 0.5s; }
.contentsbox a:hover, .contentsbox a img:hover { opacity: .75; }

#pagetop { bottom: 20px; position: fixed; right: 20px; }
#pagetop a { background-color: rgba( 0, 0, 0, 0.4 ); border-radius: 5px; color: #fff; font-size: 20px; line-height: 1; padding: 8px 15px; }
#footer { font-size: 13px; line-height: 1.3; }

/*input::-webkit-input-placeholder { font-size: 12px; font-weight: normal; }
input:-ms-input-placeholder { font-size: 12px; font-weight: normal; }
input::-moz-placeholder { font-size: 12px; font-weight: normal; }*/


/* ============================================================
contents
============================================================ */

.contentsbox { background: #DDD; /*margin: 1em 0 3em;*/ padding: 30px 0 60px; width: auto; }
.contents { background: #fff; padding: 3%; }
.tnx { min-height: 700px; }

/*
font-family: 'Lato', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
*/

/*********************************************** title */
.title{
	text-align: center;
	font-size: 4em;
	/*width: 7.3em;*/
	margin: 0 auto;
	margin-bottom: 30px;
}
.title h2{
	margin: 0 auto .3em;
	text-align: center;
}
/*.title h2 strong:nth-of-type(1){
	display: block;
	font-size: 1.18em;
}
.title h2 + .en{
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 0.49em;
}
.title h2 + .en strong{font-weight: 900;}
*/
.title .t_line{
	background-color: #ffab6a;
	color: #0d4c80;
	font-size: 18px;
	font-weight: 700;
	display: inline-block;
	padding: .3em 1em;

}

h3 {
background: #ffab6a;
border-left: 7px solid #0d4c80;
font-size: 1.4em;
line-height: 1.2;
padding: 0.5em 0.5em 0.3em;
color: #0d4c80;
}

h4 {
font-weight: bold;
height: 23px;
padding: 0 15px;
position: relative;
}

.disc{
	position: relative;
	padding-left: 1em;
	display: block;
}
.disc:before{
	content: "・";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}

/*********************************************** customer */
#customer{margin-bottom: 3em;}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select{
    padding: 10px;
	border: 1px solid #DDD;
    border-radius: 2px;
    outline: none;
	font-size: 16px;
	background: #FFF;
	box-sizing: border-box;
	width: 100%;
}
input[type="checkbox"],
input[type="radio"]{
	margin-right: 0.5em;
}
span.itemtitle + input{
	width: calc(100% - 5em);
}

input::placeholder,
textarea::placeholder{
	font-size: 15px;
	color: #999;
}
.formtype{
	display: flex;
	flex-wrap: wrap;
}
.formtype dt{
	flex-basis: 15em;

	max-width: 15em;
	background: #fff5de;
	padding:10px 15px;
	color: #333;
	border-bottom: 2px solid #ffab6a;
}
.formtype dd{
	flex-basis: calc(100% - 15em) ;
	max-width:  calc(100% - 15em) ;
	padding: 10px 2.5%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #f4f4f4;
	border-bottom: 2px solid #ededed;
}
.result .formtype dd{
	background-color: #FFF;
	justify-content: flex-start;
}
.result .formtype dd.col2 p{
	flex-basis: auto;
}

.formtype dd p{flex-basis:auto; font-size: 16px;}
.formtype dd.col1 p{
	flex-basis: 100%;
}
.formtype dd.col2 p{
	flex-basis: 49.5%;
	max-width: 49.5%;
}

.formtype dd p.note{
	margin:0.5em 0;
	color: #333;
	font-size: 0.9em;
	flex-basis: 100%;
	max-width: 100%;
	display: block;
}
.formtype dd small.note{
	margin:0.5em 0;
	color: #333;
	font-size: 0.85em;
	flex-basis: 100%;
	max-width: 100%;
	display: block;
}


.required p:after{
    background-color: rgb(248, 181, 0);
    color: rgb(255, 255, 255);
    content: "必須";
    font-size: 0.7em;
    font-weight: normal;
    margin-left: 0.4em;
    border-radius: 3px;
    padding: 0px 3px;
	vertical-align: middle;
	display: inline-block;
}

.req{
    background-color: #0d4c80;
    color: rgb(255, 255, 255);
    font-size: 0.7em;
    font-weight: normal;
    margin-left: 0.4em;
    border-radius: 3px;
    padding: 0px 3px;
	vertical-align: middle;
	display: inline-block;
}

.result .formtype dd{background-color: #FFF;}

.itemtitle{
	display: inline-block;
	vertical-align: top;
	background: #DDD;
	color: #666;
	padding: 8.5px;
	box-sizing: border-box;
	border: 1px solid #DDD;
	font-size: 0.9em;
}
.result .itemtitle{
	color: #333;
	margin-right: 1em;
	padding: 1px 0.5em;
}
#age input{
	width: 5em;
	margin-right: 0.5em;
}
#address p:nth-of-type(2){
	flex-basis: 100%;

}
#postalcode{width: 8em;}


/*********************************************** plam */
#plan{margin-bottom: 3em;}

#planbox p{width: 100%;}
input[type="text"]#planname {
    border: 0;
	background-color: transparent;
	font-weight: bold;
	color: #333;
	padding: 10px 0;
}
#roomtype,
#dept_date{display: none;}

#dept_date p,
#visit_date p,
#receipt_date p{
	flex-basis: 50%;
}


input[type="text"]#date,
input[type="text"]#date2,
input[type="text"]#date3{
	width: calc(100% - 2em);
}

#roomtype dd{
	justify-content: flex-start;
	
}
#roomtype dd p {margin-right: 2em;}
#roomtype dd p.roomhiden {display: none;}

.ui-datepicker-trigger{
	width: 1.4em;
	height: auto;
	vertical-align: middle;
	margin: 0 0.2em;
}

#person input{
	width: 5em;
	margin-right: 0.5em;
}
#dept_area input,
#area input{
	width: 10em;
	margin-right: 0.5em;
}



#code p{width: 100%;}



/*********************************************** fellow */
#fellow{margin-bottom: 3em;}

/*********************************************** opinion */
#opinion{
	margin-bottom: 3em;
	border-top: 5px solid #ffab6a;
}
/*********************************************** btnarea */
#btnarea{margin-bottom: 2em;
margin-top: 2em;}
#btnarea ul{
	display: flex;
	justify-content: center;
}
#btnarea ul li{
	flex-basis: 10em;
	max-width: 10em;
	text-align: center;
	margin: 0 1em;
}
#btnarea ul li.datas{display: none;}
button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 10px;
	border: 1px solid #DDD;
    outline: none;
    background: transparent;
	font-size: 16px;
}
#btnarea ul li input{
	padding:0.5em 0;
	color: #FFF;
	font-size: 1.2em;
	width: 100%;
    border-radius: 5px;
}

.btn_submit input{
	background-color: #007ab9;
	border:0;
}

.btn_reset input{
	background-color: #ccc;
	border:0;
}

/*-----------------------------------------------------------------------privacy_policy*/
.privacy_policy {
	margin-top:5%;
	padding:3%;
	border:2px solid #CCCCCC;
	background:#ffffff;
}
.privacy_policy p {
	font-size:0.9em;
}

.privacy_box{
	height: 300px;
	background: #eaeaea;
	overflow: scroll;
	overflow: hidden visible;
	padding: 1em;
}


.privacy_box::-webkit-scrollbar {
  width: 20px;
}
.privacy_box::-webkit-scrollbar-track {
  background: #bbbbbb;
  border-radius: 10px;
}
.privacy_box::-webkit-scrollbar-thumb {
  background: #ffab6a;
  border-radius: 10px;
}




.privacy_policy h3 {
	text-align:center;
	margin-bottom:1em;
	font-size: 16px;
}
.privacy_button {
	margin-top:1em;
	font-size: 16px;
}

.privacy_policy input{
	margin-right: 0.5em;
}


.kakunin_box {
	margin-top:3em;
    width: 100%;
    font-size: 14px;
    line-height: 1.8em;
    text-align: center;
}


.kakunin_box input,
.submit_area input {
	width: 200px;
    height: 40px;
    background: #399d07;
    color: #FFF;
    font-size: 16px;
    font-weight: bold;
    line-height: 2.5em;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
	margin-bottom:1em;
}

.privacy dt{
	font-weight: bold;
}

.privacy dd{
	margin:5px 0 0 1em; 
}

.privacy dd + dt{
	margin-top: 10px;
}

.txt_rgt{
	text-align: right;
}

/*********************************************** Thanks */
.contents.tnx .thankslead{
	min-height: 40%;
	margin: 5em 5%;
	font-size: 1.2em;

}
.contents.tnx .thankslead h4{
	font-size: 1.1em;
	color: #e50012;
	padding: 0;
	margin: 1em 0;
}
.contents.tnx .thankslead p{
	margin-bottom: 1em;
	line-height: 1.6;
}
.tnx{min-height: 0;}
.contents.tnx .img_head {margin-bottom: 2em;}
.img_head img {width: 100%;}
#inquiry{
	margin-top: 5em;
	background: #E8F3F7;
	padding: 2em;
}
#inquiry h5{
	font-size: 1.2em;
	font-weight: bold;
}

/* ============================================================
adjust
============================================================ */

.imeoff { ime-mode: inactive; }
.imeon { ime-mode: active; }


/* ============================================================
media queries 950
============================================================ */

@media only screen and (max-width: 950px){
  .pc { display: none; }
  .tablet { display: block; }
  .smp { display: block; }
  #header .inner { width: 96%; }
  .inner { width: auto; }
  .contents { margin: 0 auto; width: 95%; }
  img { height: auto; max-width: 100%; width: auto; }
  .contentsbox { margin-bottom: 0; }
}
/* ============================================================
media queries 679
============================================================ */
@media only screen and (max-width: 679px) {
.contents { margin: 0 auto; width: 100%; }
  td { display: block; }
  .ui-datepicker { width: auto; }
  /*.ui-datepicker-calendar thead,
  .ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled { display: none; }*/
  .ui-datepicker td span, .ui-datepicker td a { padding: 1em; }
  .input[type="text"] { width: 100%; }
  select { max-width: 100%; }
  .dataArea .col3 li, .dataArea .col4 li { width: 100%; }
  .dataArea .col3 li + li, .dataArea .col4 li + li { margin: 1em 0 0 0; }

/*********************************************** customer */
.formtype dt{
	flex-basis: 100%;
	max-width: 100%;
}
.formtype dd{
	flex-basis: 100%;
	max-width: 100%;
}
.formtype dd p{width: 100%;}

#mailaddress.formtype dd.col2 p {
    flex-basis: 100%;
    max-width: 100%;
}
/*********************************************** plan */

#dept_date p, #visit_date p, #receipt_date p {
    flex-basis: 100%;
}

}




/* ============================================================
media queries 480
============================================================ */
@media screen and (max-width:480px) {
.title {
	font-size: 11vw;
	margin-top: 20px;
}

  .tablet { display: none; }
  .smp2 { display: block; }
  .title .t_line{font-size: 16px;}
  h3 { font-size: 16px; }
  h4 { padding-right: 0; }
  select[name=DATA07] { margin-left: 0; margin-top: .5em; }
  input, select, textarea { font-size: 16px; }
  .dataArea { margin-bottom: 20px; width: 100%; }
  .dataArea:first-line { font-size: 13px; }
  .dataArea .col2 li, .dataArea .col3 li { width: 100%; }
  .dataArea .col2 li + li, .dataArea .col3 li + li { margin: .5em 0 0 0; }
  .btn li { width: 100%; }
  .btn li + li { margin: 1em 0 0; }
  .tnx { min-height: inherit; }
}