@charset "utf-8";

/* ****************************************************************************************************
   * contents
**************************************************************************************************** */

#main a {
  color: #00b39b;
}

#main .section ~ .section {
  margin-top: 1em;
}

#main .column ~ .column {
  margin-top: 1em;
}

/* ****************************************************************************************************
   * text
**************************************************************************************************** */

.align-l { text-align:left; }
.align-c { text-align:center; }
.align-r { text-align:right; }

.font-14 { font-size:14px; }
.font-16 { font-size:16px; }
.font-18 { font-size:18px; }
.font-20 { font-size:20px; line-height:1.4; }
.font-22 { font-size:22px; line-height:1.4; }
.font-24 { font-size:24px; line-height:1.4; }
.font-26 { font-size:26px; line-height:1.4; }
.font-28 { font-size:28px; line-height:1.4; }
.font-30 { font-size:30px; line-height:1.4; }

/* ****************************************************************************************************
   * title
**************************************************************************************************** */

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 1
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.title-1 {
  font-size: 1.3em;
  font-weight: bold;
  padding-left: 0.5em;
  padding-bottom: 0.2em;
  background: url(../../_images/_common/title-1-bg.png) 0 bottom no-repeat;
  margin-bottom: 0.5em;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 2
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.title-2 {
  position: relative;
  font-size: 1.2em;
  font-weight: bold;
  padding: 0.5em;
  background: #e9e9e9;
  margin-bottom: 1em;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * title box slide
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#main .title-box-slide {
  position: relative;
}

#main .title-box-slide:after {
  content: '';
	width: 1.5em;
  height: 100%;
  background: url(../../_images/_common/arrow-down.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
  right: 0.6em;
  margin-top: -0.5em;
}

#main .title-box-slide.active:after {
  content: '';
	width: 1.5em;
  height: 100%;
  background: url(../../_images/_common/arrow-up.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
  right: 0.6em;
  margin-top: -0.5em;
}

/* ****************************************************************************************************
   * フォーム
**************************************************************************************************** */

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 必須項目
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.required:before {
  content: '必須';
  margin-right: 0.5em;
  padding: 2px 4px;
  color: #fff;
  line-height: 1;
  font-size: 0.75em;
  vertical-align: text-top;
  display: inline-block;
  background: #f00;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 項目
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

dl.form-default,
dl.form-default > dt,
dl.form-default > dd {
  margin: 0;
  padding: 0;
}

dl.form-default {
  padding-bottom: 0.75em;
  border-bottom: dotted 1px #aaa;
}

dl.form-default > dt {
  margin-bottom: 0.25em;
  padding-left: 0.25em;
  border-left: solid 3px #3b71c3;
}

dl.form-default ~ dl.form-default {
  padding-top: 0.75em;
}

dl.form-default dl,
dl.form-default dl dt,
dl.form-default dl dd {
  margin: 0;
  padding: 0;
}

dl.form-default dl {
  margin: 0 1em;
}

dl.form-default dl ~ dl {
  margin-top: 0.5em;
  padding-top: 0.75em;
  border-top: dotted 1px #ccc;
}

dl.form-default dl dt {
  margin-bottom: 0.25em;
  padding-left: 0.25em;
  border-left: solid 3px #aaa;
}

* ~ dl.form-default dl,
dl.form-default dl ~ * {
  margin-top: 1em;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ボタン風 ラジオボタン・チェックボックス
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.input-btn {
  display: none;
}

.input-btn + label {
  min-width: 47.9%;
  margin: 5px 2px;
  padding: 0.5em;
  color: inherit;
  line-height: 1.2;
  font-size: 0.875em;
  text-align: center;
  border-radius: 4px;
  border: solid 1px #ccc;
  vertical-align: middle;
  display: inline-block;
	-webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
	background: linear-gradient(top, #fff, #e7e7e7);
	background: -moz-linear-gradient(top, #fff, #e7e7e7);
	background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e7e7e7));
}

.input-btn:checked + label {
  color: #000;
  border: solid 1px #cb5932;
	background: linear-gradient(top, #e7e7e7, #fff);
	background: -moz-linear-gradient(top, #e7e7e7, #fff);
	background: -webkit-gradient(linear, left top, left bottom, from(#e7e7e7), to(#fff));
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 入力フィールド
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

input[type=tel],
input[type=text],
input[type=email],
input[type=password] {
  width: 100%;
}

textarea {
  width: 100%;
  min-height: 9.5em;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 送信ボタン
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.submit-btn {
  margin: 1em 0;
  text-align: center;
}

.submit-btn input:not([type=image]),
.submit-btn button:not([type=image]) {
	padding: 0.5em;
  vertical-align: middle;
  display: inline-table;
  color: #fff;
	line-height: 1.2;
  border-radius: 5px;
  border: solid 1px #ff9b28;
  text-align: center;
	background: linear-gradient(top, #ffac4b, #ff9b28);
	background: -moz-linear-gradient(top, #ffac4b, #ff9b28);
	background: -webkit-gradient(linear, left top, left bottom, from(#ffac4b), to(#ff9b28));
}

.submit-btn > * {
  width: 80%;
}

.submit-btn > * ~ * {
  margin-top: 10px;
}

/* ****************************************************************************************************
   * list
**************************************************************************************************** */

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ul
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

ul.default {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul.default li ~ li {
  margin-top: 0.5em;
}

ul.default > li {
  padding-left: 18px;
  background: url(../../_images/_common/listmark-1.png) left 5px no-repeat;
	background-size: 13px;
}

ul.default ul,
ul.default ol {
  margin-left: 1.5em;
  padding: 0;
}

ul.default + *,
* + ul.default {
  margin-top: 1em;
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ol
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

ol.default {
  margin: 0;
  margin-left: 1.5em;
  padding: 0;
}

ol.default li ~ li {
  margin-top: 0.5em;
}

ol.default ol,
ol.default ul {
  margin-left: 1.5em;
  padding: 0;
}

ol.default + *,
* + ol.default {
  margin-top: 1em;
}

/* ****************************************************************************************************
   * image
**************************************************************************************************** */

img.left { margin:0 0.5em 0.5em 0; float:left; }

img.right { margin:0 0 0.5em 0.5em; float:right; }

/* ****************************************************************************************************
   * table
**************************************************************************************************** */

table.default { border-collapse:collapse; }

table.default th {
	font-weight: normal;
}

table.default > tbody > tr > th {
	border: solid 1px #dad4c8;
}

table.default > tbody > tr > td {
	border: solid 1px #dad4c8;
	background: #fff;
}

table.default > tbody > tr > th[scope="col"] {
	background: #eeece6;
}

table.default > tbody > tr > th[scope="row"] {
	background: #f3f1ec;
}

table.default + *,
* + table.default {
  margin-top: 1em;
}

/* ****************************************************************************************************
   * clearfix
**************************************************************************************************** */

.clearfix:after { content:""; display:block; clear:both; }

.clear { clear:both; }
