

/* loading */
#container{display:none;}
#loading{
	position:absolute;
	left:50%;
	top:50%;
  margin-left: -20px;
}

a {
	color: #ccc;
	text-decoration: none;
	outline: none;
}

a:hover {
	color: #000;
}

a:visited {
	color: #000;
}

a.open-popup-link{
  display: block;
  color:white;
}

.container{
	width:100%;
	max-width:680px;
	display:block;
	margin:0 auto;
	background: #f5f5f5;
  padding:0;
  overflow-x: hidden;
  position:relative;
}

/* Content */
.content{
  background: #f5f5f5;
}

.content section {
	font-size: 1.25em;
	padding: 0.75em 0.5em 0em 0.5em;
	display: none;
	max-width: 680px;
	margin: 0 auto;
}

.content section:before,
.content section:after {
	content: '';
	display: table;
}

.content section:after {
	clear: both;
}

.reserve-button{
  width:75%;
  max-width:350px;
  /*background-color: #1abc9c;*/
  border-radius: 4px;
  color: #fff;
  line-height: 40px;
  -webkit-transition: none;
  transition: none;
  text-align: center;
  margin-left:auto;
  margin-right: auto;
  display: block;
  margin-bottom: 20px;
  font-size:0.9em;
  font-weight: bold;
}

div.limit-button{
  width:75%;
  max-width:350px;
  background-color: #696969;
  border-radius: 4px;
  color: #fff;
  line-height: 40px;
  -webkit-transition: none;
  transition: none;
  box-shadow: 0 3px 0 #696969;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
  text-align: center;
  margin-left:auto;
  margin-right: auto;
  display: block;
  margin-bottom: 20px;
  font-size:0.9em;
  font-weight: bold;
}


/* 記事 */
.article-wrap{
  background: #f5f5f5;
  display:block;
}

.article-content{
  background: #fff;
  width:96%;
  margin-left:auto;
  margin-right: auto;
  margin-top: 5px;
  display:block;
  padding:10px;
  color: #333333;
}


div.terms-frame{
  margin-top:20px;
  border:1px solid #a9a9a9;
  width:100%;
  height:200px;
  overflow-y:scroll;
  background:#ffffff;
  -webkit-overflow-scrolling: touch;
}

div.terms-frame-long {
  margin-top:20px;
  border:1px solid #a9a9a9;
  width:100%;
  height:300px;
  overflow-y:scroll;
  background:#ffffff;
  -webkit-overflow-scrolling: touch;
}

/* メールアドレス */
input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  padding: .8em;
  border: 1px solid #a9a9a9;
}

.cp_ipcheck {
	width: 90%;
	text-align: left;
}
.cp_ipcheck ul {
  list-style: none;
  padding-left: 0px;
}
.cp_ipcheck .list_item {
	margin: 0 0 0.5rem 0;
	padding: 0;
}
.cp_ipcheck label {
	line-height: 135%;
	position: relative;
	margin: 0.5rem;
	cursor: pointer;
}
.cp_ipcheck .option-input05 {
	position: relative;
	margin: 0 1rem 0 0;
	cursor: pointer;
}
.cp_ipcheck .option-input05:before {
	position: absolute;
	z-index: 1;
	top: 0.125rem;
	left: 0.1875rem;
	width: 0.75rem;
	height: 0.375rem;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 2px solid #1abc9c;
	border-top-style: none;
	border-right-style: none;
}
.cp_ipcheck .option-input05:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.cp_ipcheck .option-input05:after {
	position: absolute;
	top: -0.125rem;
	left: 0;
	width: 1rem;
	height: 1rem;
	content: '';
	cursor: pointer;
	border: 2px solid #f2f2f2;
	background: #ffffff;
}


/* ラジオボタン */
input[type=radio] {
	display: none; 	/* ラジオボタンを非表示にする */
}

input[type="radio"]:checked + label {
	background: #31A9EE;/* マウス選択時の背景色を指定する */
	color: #ffffff; 	/* マウス選択時のフォント色を指定する */
}

.label {
  display: block;		/* ブロックレベル要素化する */
	float: left;		/* 要素の左寄せ・回り込を指定する */
	margin: 5px;		/* ボックス外側の余白を指定する */
	width: 100px;		/* ボックスの横幅を指定する */
	height: 45px;		/* ボックスの高さを指定する */
	padding-left: 5px;	/* ボックス内左側の余白を指定する */
	padding-right: 5px;	/* ボックス内御右側の余白を指定する */
	color: #b20000;		/* フォントの色を指定 */
	text-align: center;	/* テキストのセンタリングを指定する */
	line-height: 45px;	/* 行の高さを指定する */
	cursor: pointer;	/* マウスカーソルの形（リンクカーソル）を指定する */
	border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
	border-radius: 5px;	/* 角丸を指定する */
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background-color: #1abc9c;
  color:#fff;
  width:100%;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.btn-register {
  border-radius: 4px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background-color: #1abc9c;
  color:#fff;
  width:75%;
  max-width: 350px;
  line-height: 40px;
  font-weight: bold;
  font-size: 18px;
  margin-top: 5px;
}

/**
  ボタンの背景色
*/
.background-red {
  background: #BF0000;
}

.background-blue {
  background: blue;
}

.background-green {
  background: green;
}

.background-black {
  background: black;
}

.background-white {
  background: white;
}

/**
  ボタンの文字色aaa
*/
.font-red {
  color: red !important;
}

.font-blue {
  color: blue !important;
}

.font-green {
  color: green !important;
}

.font-black {
  color: black !important;
}

.font-white {
  color: white !important;
}

/**
  ボタンエリア
*/
#areaButtons{
  text-align: center;
}

#areaButtonsLoading {
  text-align: center;
  display: none;
}

hr.form-line{
  display:block;
  margin-top: 10px;
  margin-bottom: 10px;
}

/* 利用規約・プライバシーポリシー・オーバービュー */
p.overview-title{
  padding:10px;
  color:#000;
  font-weight:bold;
  font-size:0.9em;
}

p.overview-text{
  color:#333333;
  font-size:0.8em;
  padding:5px;
}

.article-content h4 {
  display: block;
  border-bottom:2px solid #000;
}

.buttons-normal{
  background: #1abc9c;
}

.buttons-white{
  background: white;
}
.buttons-white a{
  color: black;
}

.buttons-red{
  color: white;
  background: red;
}

.buttons-red a{
  color: white;
}

.buttons-blue{
  color: white;
  background: blue;
}

.buttons-blue a{
  color: white;
}

.buttons-green{
  color: white;
  background: green;
}

.buttons-green a{
  color: white;
}

/* よくある質問 */


/* 問い合わせ */
.contact-explain {
  font-size: 0.8em;
  font-weight:normal;
}

.form-url {
  color: blue;
  text-decoration: underline;
}

.form-url:hover{
  color: rgb(50, 70, 220);
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
  background-color: #fefefe;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 80%; /* Could be more or less, depending on screen size */
  background: #dcdcdc;
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}









/* breakpoint 680px */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background:#f5f5f5;
    color:#333333;
    font-size:14px;
    overflow-x:hidden ;
}
/*　案件リスト */
.app {
    display: flex;
    align-items: center;
    padding: 0 20px;
    max-width:680px;
    margin:0 auto 30px auto;
    backgroud:#ffffff;
}
.app:last-child {
    border-bottom:0;
}
.app img {
    width: 80px;
    height: 80px;
    border-radius: 5px;
    margin-right: 10px;
}
.app-info {
    flex: 1;
}
.app-title {
    font-size: 1.2em;
    margin: 10px 0;
}
.app-description {
    color: #666;
    margin-bottom: 5px;
}
/* リスト内の表示 */
.device{
    padding:3px 7px;
    border-radius:10px;
    margin-left:10px;
    color:#ffffff;
    font-size:12px;
}
.ios{
    background:#1a9fff;
}
.android{
    background:#2db312;
}
p.join{
    margin-top:10px;
    margin-left:10px;
    text-align:right;
}
p.join span{
    color:#ff3355;
    font-weight:bold;
    font-size:24px;
}
/* 左カラム */
.left-column{
    background:#ffffff;
    border-radius:10px;
    max-width:680px;
    display:block;
    margin:30px auto;
    flex: 2;
}
/* 右カラム */
.right-column{
    width:150px;
    flex: 1;
    margin-top:30px;
    margin-left:20px;
    border-radius:10px;
    background:#ffffff;
    margin-bottom:0px;
}
/* カラム共通 */
.container {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.column {
    background-color: #ffffff;
    margin-bottom: 20px;
}
.image-text-container {
    display: flex;
    align-items: center;
    padding: 20px;
    width:220px;
}
.image-text-container img {
    max-width: 200px;
    margin-right: 20px;
}
.image-text-container .text {
    flex: 1;
}
.image-text-container h2 {
    font-size: 1.5em;
    margin: 0 0 10px 0;
}
.image-text-container p {
    color: #666;
    margin: 0;
}
/*　もっと見るボタン */
.more-content{
    width:150px;
    background:#333333;
    padding:10px;
    color:#ffffff;
    display:block;
    margin:20px auto 50px auto!important;
    text-align:center;
}
.content-title{
    background-color:#BF0000;
    color:#ffffff;
    padding:10px;
    margin-top:0px;
}
.menu-icon{
    width:20px;
    padding-left:10px;
    margin-right:10px;
    float:left;
}
/* 右カラムメニュー */
ul.menu-list {
    list-style: none;
    margin: -15px auto 0 auto;
    padding: 0;
    width:90%;
    display:block;
}
.menu-list li {
    padding: 25px 0;
    border-bottom: 1px solid #dcdcdc;
}
.menu-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
/* フロー図 */
.flow_design {
    display: flex;
    justify-content: center;
    align-items: center;
    width:90%;
    margin:-50px auto;
}
.flow_design ul {
    padding: 10px;
}
.flow_design li {
    list-style-type: none;
}   
.flow_design dd {
    margin: 30px 0;
}
.flow > li {
    position: relative;
    list-style: none;
    margin-bottom: 40px;
}
.flow > li dl {
    box-sizing: border-box;
    width: 100%;
    padding: 20px 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 10px;
    position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
    border-width: 22px;
    border-top-color: #BF0000;
}
.flow > li:not(:last-child) dl::after {
    border-width: 20px;
    border-top-color: #BF0000;    
}
.flow > li dl dt {
    font-size: 1.2em;
    font-weight: 600;
    -ms-flex-preferred-size: 20%;
    flex-basis: 90%;
    margin-right: 2vw;
    text-align: center;
}
.flow > li dl dt .icon01 {
    font-size: 0.6em;
    color: #BF0000;
    background: #fff;
    padding: 5px 10px;
    margin-bottom: 10px;
    display: block;
    border-radius: 20px;
    position: relative;
    border-style: solid;
}
.flow > li:not(:last-child) {
    margin-bottom: 30px;
}
.flow > li dl {
    display: block;
    padding: 10px 15px;
}
.flow > li dl dt {
    margin-right: 0;
}
.flow > li dl dt .icon01 {
    font-size: .7em;
    margin-top:30px;
}
.itemName{
    width: 100px;
    display:block;
    border-radius:20px;
    background:#f5f5f5;
    padding:3px;
    color:#333333;
    text-align:center;
    font-weight:bold;
    float:left;
    margin-right:20px;
}
.itemBox{
    clear:both;
    margin:20px;
}
/* メディアクエリ */
@media (max-width: 1080px) {
    body{
        background:#ffffff;
        overflow: hidden;
    }
    /* 全体 */
    .container {
        width:100%;
        margin-top:-18px;
    }
    /* 案件リストスタイル */
    .app{
        flex-direction: column;
        align-items: flex-start;
    }
    .app img {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .app-title {
        font-size: 1.2em;
        margin: 0;
    }
    .app img {
        margin-right: 0;
        margin-bottom: 10px;
    }
    /* 左カラム */
    .left-column{
        width:100%;
        border:none;
        min-width:100%;
    }
    /* 右カラム */
    .right-column{
        width:100%!important;
        margin-top:0px!important;
        margin-left:0px!important;
        border-radius:10px;
        background:#ffffff;
        margin-bottom:0px;
    }
    /* 右カラムのSTEP */
    .flow_design {
        display: flex;
        justify-content: center;
        align-items: center;
        width:90%;
        margin:-25px auto;
    }
    .column {
        margin-top: 15px;
    }
    .top-banner{
        width:100%;
        margin-top:10px;
        margin-bottom:0px;
    }
    .image-text-container {
        display: flex;
        align-items: center;
        padding: 20px;
        width:80%;
    }
    .device{
        padding:3px 7px;
        border-radius:10px;
        margin-left:20px;
        color:#ffffff;
        font-size:12px;
    }
}
/* 見出し */
.heading {
    background-color: #333333;
    padding: 10px;
    margin-bottom: 20px;
    display:block;
    text-align:center;
    color:#ffffff;
}
/* コンテンツ */
.content {
    padding:20px;
    margin-top:-20px;
}
.dTable{
    width:99%;
    display:block;
    max-width: 680px;
    padding-bottom:30px;
    margin:-25px auto 0 auto;
    border-collapse: separate;
    border-spacing: 15px 10px;
}
.itemName{
    width: 100px;
    margin-top:20px;
    font-size:12px;
}
.itemName > span{
    display:block;
    padding:0px;
    color:#333333;
    text-align:center;
    font-weight:bold;
}
.itemDetail{
    padding-top:20px;
    color:#4d4d4d;
}
.slick-slide{
    margin-right: 0!important;
    margin-left: 0!important;
}
.slick-next.slick-arrow:before{
    display:none;
}
.slick-prev.slick-arrow:before{
    display:none;
}
.menu-list > li > a{
    text-decoration:none;
    color:#333333;
}
.table-title{
    background:#dcdcdc;
    font-weight:bold;
    padding:10px 0 10px 10px;
    margin:30px auto;
    width:90%;
    display:block;
}
.itemName > span{
    width: 100px;
    display:block;
    border-radius:20px;
    background:#3c8db0;
    padding:3px;
    color:#ffffff;
    text-align:center;
    font-weight:bold;
}
.itemDetail{
    padding:20px 10px 0 0;
    color:#4d4d4d;
}
.button-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin:20px auto;
    padding: .9em 2em;
    border: 1px solid #dc143c;
    border-radius: 5px;
    background-color: #fff;
    color: #dc143c;
    font-size: 1em;
    font-weight:bold;
}

