@charset "UTF-8";

/*----------------------------------------------------------------------------------------
#01　基本設定
#02　全体枠
#03　ヘッダー
#04　グローバルナビゲーション
#05　フッター
#06　サイドコンテンツ
#07　コンテンツ
----------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------
#01　基本設定
----------------------------------------------------------------------------------------*/
/*リセット*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
address,
em,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: inherit;
  font-weight: normal;
  font-size: 100%;
  font-family: inherit;
  line-height: 100%;
}

img {
  border: 0;
  vertical-align: bottom;
}

input,
textarea {
  font-size: 100%;
  margin: 0px;
  padding: 0px;
  line-height: 1;
}

li {
  list-style-type: none;
}

body {
  margin: 0;
  padding: 0;
  text-align: center;
  font-family: ArialMT, 'Hiragino Kaku Gothic ProN', '�q���M�m�p�S ProN W3',
    ���C���I, sans-serif;
  font-size: 90%;
  line-height: 140%;
  color: #333333;
  background: #ffffff;
}

/*リンク*/
a:link {
  color: #00f;
  text-decoration: underline;
}

a:visited {
  color: #609;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: underline;
}

/*クリア*/
.both {
  clear: both;
}

.both10 {
  clear: both;
  height: 10px;
}

.both20 {
  clear: both;
  height: 20px;
}

/*マージン*/
.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt35 {
  margin-top: 35px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb60 {
  margin-bottom: 60px;
}

.ml05 {
  margin-left: 5px;
}

.ml10 {
  margin-left: 10px;
}

.mr19 {
  margin-right: 19px;
}

.mr05 {
  margin-right: 5px;
}

/*パディング*/
.pt20 {
  padding-top: 20px;
}

/*ボックス*/
.ta_right {
  text-align: right;
}

.ta_left {
  text-align: left;
}

/*文字色*/
.color_red {
  color: #a40000;
}

.color_pure_red {
  color: #ff0000;
}

.color_green {
  color: #097c25;
}

.color_attention_red {
  color: #e60012;
}

/*文字スタイル*/
.fw_normal {
  font-weight: normal;
}

.err_input {
  background-color: #ffdfdf;
  border: 1px solid #cccccc;
}

/*----------------------------------------------------------------------------------------
#02　全体枠
----------------------------------------------------------------------------------------*/
body {
  background: #ffffff;
}

#wrap {
  width: 100%;
  /*max-width:960px;*/
  overflow: hidden;
  margin: 0 auto;
}

p {
  line-height: 160%;
}

/*----------------------------------------------------------------------------------------
#03　ヘッダー
----------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------
#04　コンテンツ
----------------------------------------------------------------------------------------*/
#container {
  width: 100%;
  /*max-width:900px;*/
  margin: auto;
  text-align: left;
  padding-top: 0px;
}

#container h1 {
  background: #1f2c5c;
  padding: 10px;
  margin-bottom: 20px;
  font-weight: bold;
  overflow: hidden;
}

#container h1 img {
  float: left;
}

#container h1 span {
  display: block;
  float: left;
  height: 60px;
  line-height: 60px;
  font-size: 26px;
  font-weight: normal;
  padding-left: 20px;
  color: #ffffff;
}

.input_tbl {
  display: table;
  width: 100%;
  max-width: 960px;
  margin: auto;
  border-collapse: collapse;
  box-sizing: border-box;
}

.input_tbl dl {
  display: table-row;
}

.input_tbl dt {
  display: table-cell;
  border-bottom: solid 1px #cccccc;
  text-align: right;
  font-weight: bold;
  padding: 20px 15px;
  margin: 0;
  width: 30%;
  vertical-align: middle;
}

.input_tbl dt span {
  font-weight: normal;
}

.input_tbl dd {
  display: table-cell;
  padding: 20px 15px;
  margin: 0;
  width: 70%;
  border-bottom: solid 1px #cccccc;
  vertical-align: middle;
  overflow: hidden;
}

.input_tbl dl .label_text {
  display: inline-block;
  margin-bottom: 5px;
}

.input_tbl dl .label_text:not(:first-child) {
  margin-top: 10px;
}

.input_tbl dl input.txt_input,
.input_tbl dl textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
}

.input_tbl dl input.tel_input {
  width: 18%;
  box-sizing: border-box;
  padding: 10px;
}

.input_tbl dl input.tel_input:first-child {
  width: 13%;
}

@media screen and (max-width: 767px) {
  .input_tbl dl input.tel_input {
    width: 30%;
  }
  .input_tbl dl input.tel_input:first-child {
    width: 26%;
  }
}

.input_tbl dl input.txt_input.mail_confirm {
  margin-top: 2%;
}

.input_tbl dd input[type='checkbox'] {
  display: block;
  float: left;
  margin-right: 0.3em;
}

.input_tbl dl select {
  padding: 10px;
}

.input_tbl dd label {
  display: block;
  float: left;
  padding-right: 1em;
}

.input_tbl dd p {
  margin-bottom: 0.7em;
}

#btn_area {
  width: 100%;
  margin: 40px auto 20px;
  text-align: center;
  overflow: hidden;
}

#btn_area input {
  width: 200px;
  -webkit-appearance: none;
  border: none;
  background: #e60012;
  padding: 15px 10px;
  border-radius: 4px;
  font-size: 120%;
  color: #fff;
  cursor: pointer;
}

#btn_area input.back_btn {
  background-color: #666666;
}

p.example {
  color: #666666;
}

ul.example {
  padding-left: 1.5em;
}

ul.example li {
  margin-bottom: 0.7em;
  line-height: 150%;
  color: #666666;
  list-style: disc;
}

.error_input,
.error_select,
.error_input_area {
  background: #fff0f0;
}

.input_tbl dd label.block_label {
  display: block;
  float: none;
  margin-top: 1em;
  width: 30px;
  white-space: nowrap;
}

.input_tbl dd label.block_label input {
  margin-right: 0.5em;
}

.input_group {
  margin-top: -1em;
}

#btn_area.twice input {
  width: 200px;
  text-align: center;
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
}

#btn_area input:hover {
  background: #ff0202;
}

#btn_area input.back_btn:hover {
  background-color: #6c6c6c;
}

.err_box {
  clear: both;
  padding-top: 0.5em;
}

.top_mess {
  line-height: 160%;
}

.uploader {
  margin-bottom: 1em;
}

#tabBtn {
  width: 100%;
  overflow: hidden;
  background: url(../images/tab_line.gif) bottom repeat-x;
  margin-bottom: 15px;
}

#tabBtn a {
  display: block;
  width: 32%;
  margin-left: 1%;
  float: left;
  text-align: center;
  padding-top: 1em;
  padding-bottom: 1em;
  border: solid 1px #cccccc;
  box-sizing: border-box;
  background: #ececec;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  text-decoration: none;
  color: #333;
}

#tabBtn a span.tabHead {
  padding-right: 0.3em;
}

#tabBtn a:hover {
  background: #f1f1f1;
}

#tabBtn a.activeTab {
  background: #ffffff;
  border-bottom-color: #ffffff;
}

#tabBtn a.activeTab:hover {
  background: #ffffff;
}

/*#tabBizool	{
	float:left;
	margin-left:1%;
}
#tabMobirth	{
	float:right;
	margin-right:1%;
}*/
#koushinNote,
#koushinNote2,
#koushinNote3,
#bannerNote,
#keywordNote {
  width: 100%;
  max-width: 960px;
  margin: auto;
  margin-bottom: 1em;
  padding: 1em;
  box-sizing: border-box;
  border: solid 1px #cccccc;
}

#koushinNote3 {
  border: solid 1px #ff0000;
}

#information {
  border: solid 5px #fc0;
  padding: 1em;
}

#service_info {
  width: 100%;
  max-width: 960px;
  margin: auto;
  margin-bottom: 2em;
}

#service_info h2 {
  background: #666666;
  text-align: center;
  color: #ffffff;
  padding: 10px;
}

#service_info h3 {
  font-weight: bold;
  margin-bottom: 0.5em;
}

#service_info a {
  display: inline-block;
  padding: 8px;
  margin-top: 0.5em;
  background: #999;
  color: #ffffff;
  text-decoration: none;
  border-radius: 6px;
}

.full_box {
  overflow: hidden;
  background: #f1f1f1;
}

.half_box {
  float: left;
  width: 50%;
}

.padding_box {
  padding: 15px;
}

.entry_info {
  width: 100%;
  max-width: 960px;
  margin: auto;
}

.entry_info h2 {
  background: #666666;
  text-align: center;
  color: #ffffff;
  padding: 10px;
  margin-bottom: 0;
}

.entry_info img {
  width: 100%;
  margin: 1em auto;
}

/*----------------------------------------------------------------------------------------
#05　添付ファイル
----------------------------------------------------------------------------------------*/
.upBtn {
  width: 160px;
  float: left;
  margin-right: 50px;
}

.query input {
  padding: 2px;
}

.updImg {
  overflow: hidden;
  clear: both;
  line-height: 2;
}

.updImg img {
  max-width: 120px;
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}

.delBtn {
  float: left;
}

/*----------------------------------------------------------------------------------------
#06　フッター
----------------------------------------------------------------------------------------*/
#footer {
  margin-top: 40px;
  margin-bottom: 10px;
  color: #666;
}

/*----------------------------------------------------------------------------------------
#07　モバイル
----------------------------------------------------------------------------------------*/
@media (max-width: 768px) {
  .input_tbl dl input.txt_input,
  .input_tbl dl textarea {
    font-size: 120%;
    padding: 10px;
  }

  #container h1 img {
    height: 2.6em;
    line-height: 0;
  }

  #container h1 span {
    height: 2.4em;
    line-height: 2.4em;
    font-size: 110%;
    padding-left: 1em;
    font-weight: bold;
  }
}

@media (max-width: 420px) {
  #container h1 {
    font-size: 80%;
  }

  #container {
    width: 100%;
    text-align: left;
    padding-top: 0;
  }

  #container h1 {
    background: #1f2c5c;
    padding: 10px;
    margin-bottom: 20px;
    font-weight: bold;
    /*border-bottom:solid 3px #999;*/
  }

  #container h1 img {
    height: 2.2em;
    line-height: 0;
  }

  #container h1 span {
    height: 2em;
    line-height: 2em;
    font-size: 120%;
    padding-left: 1em;
    font-weight: bold;
  }

  .input_tbl {
    /*display:block;*/
    width: 100%;
  }

  .input_tbl dl {
    display: block;
  }

  .input_tbl dt {
    display: block;
    background: #ececec;
    border: solid 1px #cccccc;
    border-left: none;
    border-right: none;
    text-align: left;
    padding: 10px 10px;
    margin: 0;
    margin-bottom: 1em;
    width: 100%;
    vertical-align: top;
    box-sizing: border-box;
  }

  .input_tbl dd {
    display: block;
    padding: 10px 10px;
    margin: 0;
    margin-bottom: 1.5em;
    width: 100%;
    border: none;
    vertical-align: top;
    overflow: hidden;
    box-sizing: border-box;
  }

  .input_tbl dd label.block_label {
    border: solid 1px #cccccc;
    border-radius: 6px;
    padding: 10px;
    width: auto;
    white-space: normal;
  }

  .input_tbl dd label.block_label input {
    margin-right: 0.5em;
  }

  #btn_area {
    width: auto;
    margin: 20px 10px;
  }

  .input_tbl dd select {
    -webkit-appearance: none;
    padding-right: 40px;
    font-size: 100%;
    background: url(../images/select_arrow.png) no-repeat 100% 50%;
  }

  #btn_area input {
    width: 100%;
    -webkit-appearance: none;
    border: none;
    background: #c00;
    padding: 15px 10px;
    border-radius: 4px;
    font-size: 120%;
    color: #fff;
  }

  #btn_area.twice input {
    width: 47%;
    text-align: center;
    margin: 0;
  }

  #btn_area.twice input:first-child {
    float: left;
  }

  #btn_area.twice input:last-child {
    float: right;
  }

  .updImg {
    overflow: hidden;
    float: none;
    margin: auto;
  }

  .upBtn {
    -webkit-appearance: none;
    margin-bottom: 1em;
    float: none;
    width: 100%;
    border: solid 1px #999999;
    background: #f1f1f1;
    padding: 10px 10px;
    border-radius: 4px;
    font-size: 100%;
  }

  .updImg img {
    max-width: 45%;
    float: left;
    margin-right: 5%;
  }

  .delBtn {
    -webkit-appearance: none;
    width: 50%;
    border: solid 1px #999999;
    background: #f1f1f1;
    padding: 10px 10px;
    border-radius: 4px;
    font-size: 100%;
  }

  #tabBtn a {
    font-size: 70%;
  }

  #tabBtn a span.break {
    display: block;
    padding-top: 0.4em;
  }

  #tabBtn a span.tabHead {
    padding-right: 0;
  }

  .half_box {
    float: none;
    width: 100%;
  }

  #information {
    margin: 1em;
  }
}

/* 2019-11-27 追加 */
.g-recaptcha > div {
  margin: 0 auto 20px;
}

.text-red {
  color: #f00 !important;
}

.mb3 {
  margin-bottom: 3% !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.input_tbl dd label.vertical {
  display: block;
  padding-left: 0;
  float: none;
}

.input_tbl dd label.vertical:not(:last-child) {
  margin-bottom: 1em;
}

.input_tbl dd label input {
  margin-right: 0.3em;
}

#ai_support {
  display: inline-block;
  margin-bottom: 0.5em;
  background: #fff;
  border: 1px solid #a9a9a9;
  padding: 0.2em 0.8em;
  border-radius: 3px;
  cursor: pointer;
}

input[type='color'] {
  width: 40px;
  height: 40px;
  border: none;
}

/* ローディングスピナーのスタイル */
.loading-spinner {
  /* display: none; */
  border: 16px solid #f3f3f3;
  border-top: 16px solid #1f2c5c;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 2s linear infinite;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* スピナーの回転アニメーション */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#open_target {
  display: none;
}

#open_target.open {
  display: table-row;
}