@charset "UTF-8";
/*----------------------------------------
　汎用
----------------------------------------*/
ul,ol,li { list-style: none; margin:0; padding:0; }
table { border-collapse: collapse; width: 100%; }
h1,h2,h3,h4,h5,h6 { font-weight: normal; }
dl,dt,dd { margin:0; padding:0; display:block; }
/* clearfix */
.cf { content: ""; display: block; clear: both; }
/* margin */
.m0 { margin: 0px !important; }.m5 { margin: 5px !important; }.m10 { margin: 10px !important; }.m15 { margin: 15px !important; }.m20 { margin: 20px !important; }.m25 { margin: 25px !important; }.m30 { margin: 30px !important; }.m40 { margin: 40px !important; }.m50 { margin: 50px !important; }.m60 { margin: 60px !important; }.mt0 { margin-top: 0 !important; }
.mt5 { margin-top: 5px !important; }.mt10 { margin-top: 10px !important; }.mt15 { margin-top: 15px !important; }.mt20 { margin-top: 20px !important; }.mt25 { margin-top: 25px !important; }.mt30 { margin-top: 30px !important; }.mt35 { margin-top: 35px !important; }.mt40 { margin-top: 40px !important; }.mt50 { margin-top: 50px !important; }.mt60 { margin-top: 60px !important; }
.mr0 { margin-right: 0px !important; }.mr5 { margin-right: 5px !important; }.mr10 { margin-right: 10px !important; }.mr15 { margin-right: 15px !important; }.mr20 { margin-right: 20px !important; }.mr25 { margin-right: 25px !important; }.mr30 { margin-right: 30px !important; }.mr35 { margin-right: 35px !important; }.mr40 { margin-right: 40px !important; }.mr50 { margin-right: 50px !important; }.mr55 { margin-right: 55px !important; }.mr60 { margin-right: 60px !important; }.mr90 { margin-right: 90px !important; }
.mb0 { margin-bottom: 0 !important; }.mb5 { margin-bottom: 5px !important; }.mb10 { margin-bottom: 10px !important; }.mb15 { margin-bottom: 15px !important; }.mb20 { margin-bottom: 20px !important; }.mb25 { margin-bottom: 25px !important; }.mb30 { margin-bottom: 30px !important; }.mb40 { margin-bottom: 40px !important; }.mb50 { margin-bottom: 50px !important; }.mb60 { margin-bottom: 60px !important; }.mb180 { margin-bottom: 180px !important; }.ml0 { margin-left: 0px !important; }.ml5 { margin-left: 5px !important; }.ml10 { margin-left: 10px !important; }.ml15 { margin-left: 15px !important; }.ml20 { margin-left: 20px !important; }.ml25 { margin-left: 25px !important; }.ml30 { margin-left: 30px !important; }.ml40 { margin-left: 40px !important; }.ml50 { margin-left: 50px !important; }.ml60 { margin-left: 60px !important; }
.mAuto { margin: 0 auto !important; }
/* padding */
.p0 { padding: 0 !important; }.p3 { padding: 3px !important; }.p5 { padding: 5px !important; }.p10 { padding: 10px !important; }.p15 { padding: 15px !important; }.p20 { padding: 20px !important; }.p25 { padding: 25px !important; }.p30 { padding: 30px !important; }
.pt5 { padding-top: 5px !important; }.pt10 { padding-top: 10px !important; }.pt15 { padding-top: 15px !important; }.pt20 { padding-top: 20px !important; }.pt25 { padding-top: 25px !important; }.pt30 { padding-top: 30px !important; }.pt170 { padding-top: 170px !important; }.pt592 { padding-top: 592px !important; }
.pr5 { padding-right: 5px !important; }.pr10 { padding-right: 10px !important; }.pr15 { padding-right: 15px !important; }.pr20 { padding-right: 20px !important; }.pr25 { padding-right: 25px !important; }.pr30 { padding-right: 30px !important; }.pr90 { padding-right: 90px !important; }
.pb5 { padding-bottom: 5px !important; }.pb10 { padding-bottom: 10px !important; }.pb15 { padding-bottom: 15px !important; }.pb20 { padding-bottom: 20px !important; }.pb25 { padding-bottom: 25px !important; }.pb30 { padding-bottom: 30px !important; }
.pl4 { padding-left: 4px !important; }.pl5 { padding-left: 5px !important; }.pl10 { padding-left: 10px !important; }.pl15 { padding-left: 15px !important; }.pl20 { padding-left: 20px !important; }.pl25 { padding-left: 25px !important; }.pl30 { padding-left: 30px !important; }.pl40 { padding-left: 40px !important; }
/* font-size */
.fs10 { font-size: 10px !important; }.fs11 { font-size: 11px !important; }.fs12 { font-size: 12px !important; }.fs13 { font-size: 13px !important; }.fs14 { font-size: 14px !important; }.fs15 { font-size: 15px !important; }.fs16 { font-size: 16px !important; }.fs17 { font-size: 17px !important; }.fs18 { font-size: 18px !important; }.fs20 { font-size: 20px !important; }.fs22 { font-size: 22px !important; }.fs24 { font-size: 24px !important; }.fs26 { font-size: 26px !important; }.fs28 { font-size: 28px !important; }.fs30 { font-size: 30px !important; }
.fsmall { font-size:small !important; } .flarge { font-size: large !important; }
/* font */
.bold { font-weight: bold !important; }.normal { font-weight: normal !important; }.small { font-size:small; }.large { font-size:large; }
/* float */
.fl { float: left !important; }.fr { float: right !important; }
/* align */
.alL { text-align: left !important; }.alC { text-align: center !important; }.alR { text-align: right !important; }
.valT { vertical-align: top !important; }.valM { vertical-align: middle !important; }.valB { vertical-align: bottom !important; }
.talC { text-align: center !important; }
/* display */
.disNon { display: none; }.pc-only { display: block; }.sp-only { display: none; }
/* indent */
.ind { padding-left: 1em; text-indent: -1em; }
/* clear */
.cb { clear:both !important; }
/*----------------------------------------
　common
----------------------------------------*/
body * {
  box-sizing: border-box;
  vertical-align: middle;
}
html,
body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #000;
  font-family:sans-serif;
}
body * { box-sizing: border-box; }
a { color: #0973CD; }
a:hover {
  opacity:0.7;
  color:#FF8000;
}
#wrapper {
  width:100%;
  height:100%;
  margin:0;
}
p { margin:18px 0 0; }

/*--------------------------------------------------
 header
--------------------------------------------------*/
#header {
  width: 810px;
  margin: 0 auto;
  display:flex;
  justify-content: space-between;
  align-items: center;
  padding:10px 0;
}
#header div#logo { width: auto; }
#header h1 {
  font-size:16px;
  font-weight:bold;
  color:#0081cc;
}

/*--------------------------------------------------
 footer
--------------------------------------------------*/
#footer {
  font-size: 11px;
  text-align: center;
  padding: 28px 0 26px 0;
  margin: 0 auto 0 auto;
  line-height: 19px;
}
#footer li {
  display: inline;
  border-left: 1px solid #ffffff;
  padding-left: 10px;
  margin-left: 10px;
}
#footer li#top {
  border-left: none;
  padding-left: 0;
  margin-left: 0;
}
#footer a {
  font-size: 11px;
  }

/*--------------------------------------------------
 コンテンツ
--------------------------------------------------*/
#contents {
  background-color:#f4f4f4;
  padding:20px 0;
}
#contents .form {
  width: 760px;
  margin: 0 auto;
}
.form a { color: #0973CD; }
.form a:hover { color: #FF8000; }

/*--------------------------------------------------
 パーツ
--------------------------------------------------*/
/* フロー
--------------------------------------------------*/
#flow ol {
  margin: 0 auto;
  display:table;
  width:100%;
  background-color:#fff;
  border-radius:4px;
  table-layout:fixed;
  overflow:hidden;
}
#flow ol li {
  line-height:1;
  display: table-cell;
  vertical-align: middle;
  text-align:center;
  font-size:14px;
  font-weight:bold;
  color:#666;
  padding:10px;
}
#flow ol li span { vertical-align:middle; }
#flow ol li:nth-child(2) {
  border-left: dotted 1px #ccc;
  border-right:dotted 1px #ccc;
}
#flow ol li span { font-size:20px; }
#flow ol li.now {
  background-color: #0081cc;
  color:#fff;
}
/* はこ
--------------------------------------------------*/
.box01 {
  background-color:#fff;
  border-radius:4px;
  margin:2em auto;
  padding:16px;
}
.box01 p { margin-top:10px; }
.box01 > *:first-child { margin-top:0; }
/* 見出し
--------------------------------------------------*/
h2 {
  margin:20px auto 10px;
  padding:0 0 6px 0;
  border-bottom:dotted 2px #ddd;
  font-weight:bold;
}
h3 {
  margin:20px auto 10px;
  font-weight:bold;
  vertical-align:middle;
  background-color: #0081cc;
  color:#fff;
  padding: 0 10px;
  border-radius:4px;
}
h3 img {
  display:inline-block;
  line-height:1;
  margin-left:10px;
  vertical-align:middle;
}
h4 {
  margin:20px auto 4px;
  font-weight:bold;
  color:#0081cc;
  font-size:20px;
}
/* 色
--------------------------------------------------*/
.red { color:#FF0000; }
.orange { color:#F60; }
.bgRed { background-color:#FEE; }
/* レイアウト
--------------------------------------------------*/
/* 全共通 */
table {
  border-collapse:collapse;
  width:100%;
  text-align:left;
}
/* 入力レイアウト用 */
.form_table01 tr td {
  padding:0 0 0 10px;
  vertical-align:middle;
}
.form_table01 tr td:first-child { padding-left: 0; }
.form_table02 td .time_caption {
  display: inline-block;
  font-size: 14px;
  padding-bottom: 20px;
}
.form_table02 td {
  padding: 1em 0;
}
.form_table02 td .time_caption {
  display: inline-block;
  font-size: 14px;
  padding-bottom: 20px;
}
/* フォーム部品
--------------------------------------------------*/
label {
  display: block;
  width:100%;
  padding: 12px 10px;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-color: #FFF;
  border: #CCC solid 1px;
  margin:10px 0 0;
  border-radius: 6px;
  font-size:22px;
  cursor:pointer;
}
input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  -moz-transform: scale(1.3, 1.3);
  -ms-transform: scale(1.3, 1.3);
  -webkit-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
  margin:0 0.5em 0 0;
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"] {
  display: block;
  width:100%;
  padding: 6px;
  border: 1px solid #ccc;
  font-size:22px;
  margin:10px 0 0;
}
input.return {
  display: inline-block;
  padding: 6px;
  border: 1px solid #ccc;
  font-size:22px;
}
select {
  display: block;
  width:100%;
  padding: 10px;
  position: relative;
  background-color: #FFF;
  border: #CCC solid 1px;
  font-size:22px;
  margin:10px 0 0;
  -moz-appearance: none;
  -webkit-appearance: none;
}
textarea {
  box-sizing:border-box;
  display: block;
  width:100%;
  padding: 10px;
  border: 1px solid #ccc;
  font-size:22px;
  min-height:4em;
  margin:10px 0 0;
}
.radio_btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.radio_btn label { flex:1; }
.radio_btn input[type="radio"]:checked + .switch-on {
  background-color: #a1b91d;
  color: #fff;
}
.radio_btn input[type="radio"]:checked + .switch-off {
  background-color: #e67168;
  color: #fff;
}
/** 自動入力時の背景対処 **/
input:-webkit-autofill {
 -webkit-box-shadow: 0 0 0px 1000px white inset;
}
label:hover,
.checked {
  background-color: #FFC !important;
  background-image: none;
}
/* 注意書きなど
--------------------------------------------------*/
p.ex {
  font-size:16px;
  line-height:1.6;
  color:#666;
  margin-top:8px !important;
}
.note01 {
  padding-left: 1em;
  text-indent: -1em;
  color:#0081cc;
  font-size:0.9em;
}
.notice { color: #228B22; }
.txthosoku {
  color: #FFFF00;
  padding: 0 0 0 5px;
}
.conf_step3 #confilm_tel,
.conf_step3 #confilm_email {
  display:block;
  font-weight:bold;
  font-size:2em;
  word-break:break-all;
  color: #D84400;
}
.conf_step3 {
  font-size: 14px;
  color: #D84400;
  display: none;
}

/* list
--------------------------------------------------*/
.list01 { padding:0 1em; }
.list01 li {
  padding-left:1em;
  position:relative;
  margin-top:0.6em;
}
.list01 li:before {
  content:"●";
  display:block;
  width:1em;
  height:1em;
  position:absolute;
  top:0;
  left:0;  
}
/* ボタン
--------------------------------------------------*/
.btnArea {
  display:flex;
  justify-content: center;
  align-items: center;
  margin:30px auto;
}
.btnArea > * {
  display:block;
  min-width:40%;
  padding:0 10px;  
}
.form .btn01 {
  font-size:24px;
  font-weight:bold;
  line-height:1.2;
  color: #ffffff;
  text-decoration:none;
  padding: 20px 10px;
  background-color:#0081cc;
  border:none;
  outline:none;
  border:solid 1px #fff;
  border-radius:6px;
  margin:0 10px;
  text-align:center;
}
.btn01:hover {
  cursor:pointer;
  opacity:0.7;
}
.btn02 {
  font-size:20px;
  font-weight:bold;
  line-height:1.2;
  padding: 10px 10px;
  background-color:#ccc;
  border:none;
  outline:none;
  border:solid 1px #fff;
  border-radius:6px;
  margin:0 10px;
}
.btn02:hover {
  cursor:pointer;
  opacity:0.7;
}
/* startText
--------------------------------------------------*/
.startText {
  background-color:#ffecac;
  padding:10px;
  border-radius:4px;
  margin:18px 10% 0;
  text-align:center;
  font-size:18px;
  font-weight:bold;
}
.startText span { color: #F30; }

/* ライン
--------------------------------------------------*/
.hr01 {
  display:block;
  width:96%;
  margin:18px auto 0;
  box-shadow:none;
  opacity:0.5;
}

/* エラー・必須項目
--------------------------------------------------*/
.critical_box {
  color: #F66928;
  background-color: #FFFFFF;
  text-align:center;
  border-radius:4px;
  padding: 10px 10px;
  margin-top: 30px;
  border: 1px solid;
  border-color: #F66928;
  font-weight: bold;
}
.not_applicable_error_message {
  text-align: left;
}
.critical,
.notcomplete_message { color: #FF0000; }
.bkground_required { background-color: #FFEDE3; }
#start_price_msg { display: block; }
#end_price_msg { display: block; }
.checkbox_list {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #00B7F0;
}
.checkbox_list .mt { margin-top: 15px; }
.checkbox_list li {
  border-top: 1px dotted #AFAFAF;
  background: #ffffff;
}
.checkbox_list li label {
  display: block;
  padding: 10px;
}
.checkbox_list li:first-child { border-top: none; }
.checkbox01 {
  width: 100%;
  border: 2px solid #00B7F0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.checkbox01#mb { margin-bottom: 15px; }
.checkbox01.mt { margin-top: 15px; }
.checkbox01 li {
  border-top: 1px dotted #AFAFAF;
  background: #ffffff;
}
.checkbox01 li:first-child { border-top: none; }
.checkbox01 li label {
  display: block;
  padding: 10px;
}
.checkbox02 {
  width: 100%;
  box-sizing: border-box;
}
.checkbox02 li {
  border: 2px solid #00B7F0;
  margin-top: 25px;
  font-size: 18px;
  color: #006DD9;
  background: #ffffff;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2VmZWZlZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #efefef));
  background-image: -moz-linear-gradient(#ffffff, #efefef);
  background-image: -webkit-linear-gradient(#ffffff, #efefef);
  background-image: linear-gradient(#ffffff, #efefef);
}
.checkbox02 li label {
  display: block;
  padding: 10px;
}
.radio_line li {
  float: left;
  box-sizing: border-box;
  border-top: none;
  padding: 10px 10px;
}
.radio_line,
.radio_line03 { height: 50px; }
.radio_line li,
.radio_line03 li {
  float: left;
  width: 45%;
  border-top: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.radio_line li:first-child,
.radio_line03 li:first-child { border-right: 1px dotted #AFAFAF; }
.radio_line03 li {
  float: left;
  width: 30%;
  border-top: none;
  border-right: 1px dotted #AFAFAF;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.radio_line03 li:last-child {
  width: 40%;
  border-right: none;
}





/*--------------------------------------------------
 各ページ
--------------------------------------------------*/
/* ステップ1 body#step1
--------------------------------------------------*/
.ul_ryosyu { display:flex; }
#contents .ul_ryosyu li {
  flex:1;
  margin:0;
  padding-left:6px;
}
#contents .ul_ryosyu li:first-child { padding-left:0; }
#contents .ul_ryosyu li label { font-size: 19px; }
.label_ikisaki { display:flex; }
.label_ikisaki label { margin-left:10px; }
.label_ikisaki label:first-child { margin-left:0; }
/* ステップ2 body#step2
--------------------------------------------------*/
#step2 .box01 h2 {
  position:relative;
  padding-left:120px;
  font-size:22px;
  min-height:50px;
}
#step2 .box01 h2 img {
  max-width:120px;
  height:auto;
  position:absolute;
  left:0;
  top:0;
}
#step2 .slide {
  color:#aaa;
  font-size:14px;
  vertical-align:bottom;
  text-decoration:underline;
  cursor:pointer;
}

#step2 .tit {
  display: block;
}
/* ステップ3 body#step3
--------------------------------------------------*/
#arrangement_list{
  padding: 10px 5px 25px 5px;
  margin-bottom: 15px;
}

#arrangement_list label:hover{
  background-color: #FFF !important;
  background-image: none;
}

/* ステップ4 body#step5
--------------------------------------------------*/
.ul_modori,
.ul_tehai { display:flex; }
#contents .ul_modori li,
#contents .ul_tehai li {
  flex:1;
  margin:0;
  padding-left:6px;
}
#contents .ul_modori li:first-child,
#contents .ul_tehai li:first-child { padding-left:0; }
.pohtoBox { overflow:hidden; }
.pohtoBox img {
  display: block;
  width:300px;
  float:right;
  margin:0 0 0 10px;
}




#step2 h2 {
  position:relative;
}

.vw_tooltip {
  display: none;
  position: absolute;
  top:  -2.0em;
  left: 0.3em;
  z-index: 9999;
  padding: 2em;
  border-radius: 0.4em;
  border: 2px solid;
  font-weight: bold;
  max-width: 100%;
  color: #FFFFFF;
  background: #F66928CC;
  border-color: #F66928;
  font-size: 18px
}

#step3 .ul_arrangement li {
  width: 48%;
  margin: 0 1%;
  float: left;
}

.budget-per-person__highlighting-text, .sumbudget__highlighting-text {
  color: #FF0000;
  font-size:30px;
  font-weight:bold; 
}
