@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Blinker:wght@400;600&display=swap');

/*****************************************************************
 * Global
 *****************************************************************/
body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    font-display: swap;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

strong { font-weight: 700; }


body.font_smoothing h1,
body.font_smoothing h2,
body.font_smoothing h3,
body.font_smoothing h4,
body.font_smoothing h5,
body.font_smoothing h6,
body.font_smoothing p,
body.font_smoothing span,
body.font_smoothing a,
body.font_smoothing dt,
body.font_smoothing th,
body.font_smoothing td,
body.font_smoothing input,
body.font_smoothing textarea,
body.font_smoothing select,
body.font_smoothing .cnt_lists > li,
body.font_smoothing .cnt_comments > li { /* transform: rotate(0.03deg); */ }

a {
	text-decoration: none;
	color: #898989;
}
a:hover {
	color: #d90000;
}
.wrapper {
	width: 1280px;
	margin: auto;
	position: relative;
}
article {
	width: 1280px;
	margin: auto;
	padding: 50px 0 80px;
}
/* header */
header {
	width: 100%;
	height: 89px;
	background: #ffffff;
	border-bottom: #d90000 solid 4px;
}
.adminpage header {
	background: #dcdddd;
}
.adminpage header h3 {
  font-weight: bold;
  position: absolute;
  top: 60px;
  left: 460px;
}
header h1 a {
	background: url(../images/TSP_corporate.png) no-repeat;
	background-size: 100%;
	width: 230px;
	height: 45px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	display: block;
}
header h2 {
	font-weight: normal;
	padding-top: 10px;
	margin-bottom: 5px;
}
header ul#regular {
	display: flex;
	position: absolute;
	right: 0;
	bottom: -5px;
}
header ul#regular li {
	width: 125px;
	/*height: 54px;
	border-bottom: #d90000 solid 4px;*/
	position: relative;
}
header ul#regular li.active::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 5px 5px 5px;
	border-color: transparent transparent #d90000 transparent;
	position: absolute;
	bottom: -2px;
	left: calc(50% - 4.8px);
}
header ul#regular li::before {
	content: "";
	position: absolute;
	top: 7px;
	height: 40px;
	border-left: #898989 solid 1px
}
header ul#regular::after  {
	content: "";
	position: absolute;
	right: 0;
	top: 7px;
	height: 40px;
	border-right: #898989 solid 1px
}
header ul#regular li {
	position: relative;
}
header ul#regular li a,
header ul#regular li div {
	font-weight: 900;
	color: #898989;
	font-size: 15px;
	line-height: 12px;
	text-align: center;
	display: block;
	padding: 12px 0;
	position: relative;
}
header ul#regular li div span {
	display: block;
	margin-top: 6px;
}
header ul#regular li a:hover {
	color: #d90000;
}
header ul#regular li a span {
	display: block;
	margin-top: 7px;
	font-weight: normal;
	font-size: 8px;
}
header ul#regular li ul {
	position: absolute;
	left: 0;
	top: 56px;
  border-top: #898989 solid 1px;
  width: 180px;
	display: none;
}
header ul#regular li ul.last {
	left: auto;
	right: 0;
}
header ul#regular li ul li::before {
	border-left: none;
}
header ul#regular li ul li a {
  width: 180px;
  height: auto;
  float: none;
  padding-top: 0;
  border-right: #898989 solid 1px;
  border-bottom: #898989 solid 1px;
  border-left: #898989 solid 1px;
	background: #dcdddd;
	font-size: 15px;
	line-height: 12px;
	text-align: center;
	display: block;
	padding: 12px 0;
}
header .header_btn
header .header_btn a {
	display: none;
}
#form form div {
	margin-top: 20px;
}
#form form div div.form_caution {
	color: #d90000;
	display: none;
}
#form form div div.form_caution_tent {
	color: #d90000;
	padding-top: 10px;
	display: none;
}
#form form div img#captcha {
	float: left;
	border: #c9caca solid 1px;
	margin-left: 10px;
}
#form form div div#captcha_refresh a {
	background: url(../images/refresh.png) no-repeat;
	width: 122px;
	height: 68px;
	display: block;
	float: left;
}
#form form div span {
	margin-left: 10px;
	font-size: 12px;
}
#form form div label {
	width: 120px;
	float: left;
	padding-top: 10px;
}
#form form div label.wd200 {
	width: 200px;
}
#form form input[type="text"],
#form form select,
#form form input[type="password"],
.form form textarea {
	border-radius: 3px;
	padding: 10px;
	border: 1px solid #DDD;
	width: 250px;
	float: left;
}
#form form input[type="text"].wide30 {
	width: 20px;
}
#form form input[type="text"].wide120 {
	width: 120px;
}
#form form input[type="text"].wide300 {
	width: 300px;
	margin-left: 10px;
}
.form form textarea {
	width: 80%;
	height: 150px;
}
#form form select.year {
	width: 80px;
	float: none;
}
#form form select.date {
	width: 60px;
	float: none;
}
#form form input[type="submit"] {
	border-radius: 3px;
	padding: 10px;
	border: 1px solid #DDD;
	background: linear-gradient(#efefef, #c9caca);
	margin: auto;
	display: block;
	width: 250px;
}
#form form input[type="submit"]:hover {
	background: linear-gradient(#c9caca, #efefef);
}
/* footer */
footer .wrapper {
    padding: 10px 0;
    border-top: 1px solid #ccc;
}
footer .wrapper ul {
	display: flex;
}
footer .wrapper ul li a {
	color: #ccc;
	font-size: 12px;
	padding-left: 20px;
	position: relative;
}
footer .wrapper ul li a:hover {
	color: #d90000;
}
footer .wrapper ul li a::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #ccc;
	position: absolute;
	top: 5px;
	left: 12px;
}
footer .wrapper ul li a:hover::before {
	border-color: transparent transparent transparent #d90000;
}
footer .wrapper #copyright {
	font-size: 9px;
	position: absolute;
	top: 12px;
	right: 0;
}
footer .wrapper .page_top {
	position: absolute;
	top: -40px;
	right: 50px;
}
.adminpage footer .wrapper .page_top {
	right: 50px;
	left: auto;
}
footer .wrapper .page_top a {
	position: relative;
	padding-left: 16px;
}
footer .wrapper .page_top a::before{
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
    width: 13px;
    height: 13px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #d90000;
}
footer .wrapper .page_top a::after{
	content: "";
	position: absolute;
	top: 7.5px;
    left: 2.5px;
    border-right: 4px solid transparent;
	border-bottom: 7px solid #fff;
	border-left: 4px solid transparent; 
}
/* article */
article #regular_L {
	float: left;
	width: 970px;
}
article #regular_L .read {
	padding-left: 20px;
}
article #regular_R {
	float: right;
	width: 280px;
}
article h3 {
	display: block;
	border-top: #d90000 solid 3px;
	padding: 5px 0 8px 20px;
	background: linear-gradient(#f7f8f8, #dcdddd);
	font-size: 18px;
	font-weight: bold;
	height: 27px;
	margin-bottom: 30px;
}
/* login */
#login {
  background: #cccccc;
  border-radius: 10px;
  padding: 20px;
}
#login h4 {
	margin-bottom: 10px;
	border-bottom: #999999 solid 2px;
	position: relative;
}
#login h4::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	border-bottom: #d90000 solid 2px;
	display: block;
	width: 55px;
}
#login dt {
	float: left;
	width: 90px;
}
#login dd input[type="text"],
#login dd input[type="password"] {
	border-radius: 3px;
	padding: 3px;
	width: 140px;
}
#login input[type="submit"] {
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: rgb(153, 153, 153);
	background-image: -moz-linear-gradient( 90deg, rgb(153,153,153) 0%, rgb(204,204,204) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(153,153,153) 0%, rgb(204,204,204) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(153,153,153) 0%, rgb(204,204,204) 100%);
	padding: 5px;
	margin-top: 10px;
}
#login input[type="submit"]:hover {
	background-image: -moz-linear-gradient( 90deg, rgb(204,204,204) 0%, rgb(153,153,153) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(204,204,204) 0%, rgb(153,153,153) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(204,204,204) 0%, rgb(153,153,153) 100%);
}
/**
 * --------------------------------------------------------------------------------
 * 旧ページから
 * --------------------------------------------------------------------------------
 */
#midashi,
.midashi {
	width: 100%;
	height: 16px;
	padding: 0px 0 0 20px;
	margin: 0 0 20px 0;
	font-weight: 900;
	font-size: 16px;
	position: relative;
}
.midashi::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 18px;
	height: 18px;
	background-color: #d90000;
	border-radius: 50%;
}
.midashi::after {
	content: "";
	position: absolute;
	top: 7px;
	left: 6px;
	background-color: #fff;
	width: 9px;
	height: 12px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#sub01 {
	float: left;
	background-color: #CCC;
	padding: 5px 10px;
}
.sub01 {
	float: left;
	background-color: #CCC;
	padding: 5px 10px;
	margin-bottom: 10px;
}
#sub02,
.sub02 {
	float: left;
	padding: 5px 10px;
}
#sub03,
.sub03 {
	float: right;
	text-align: right;
}
#sub03 a,
.sub03 a {
	background: url(../images/arrow_link.png) right 8px center no-repeat #cccccc;
	background-size: 6px;
	padding: 5px 20px 5px 10px;
	display: block;
	border-radius: 3px;
}
#sub04,
.sub04 {
	float: left;
	background-color: #CCC;
	padding: 0 10px 0 10px;
}
#sub_txt,
.sub_txt {
	font-size: 10px;
	color: #0685FB;
}
#sub_txt2 {
	font-size: 10px;
	color: #FF0000;
}
.flow,
.form,
.view {
	margin-left: 50px;
	margin-top: 50px;
}
.form.login {
	margin-top: 0px;
	margin-left: 0px;
}
.flow h4,
.form h4,
.view h4 {
	display: block;
	border-left: #d90000 solid 3px;
	padding: 5px 0 5px 20px;
	background: linear-gradient(#f7f8f8, #dcdddd);
	margin-bottom: 20px;
}
.form form {
	margin-left: 50px;
	margin-top: 50px;
}
form.form_in_table {
	margin-left: 0px;
	margin-top: 0px;
}
.form.login form {
	margin-left: 0px;
	margin-top: 0px;
}
.form form div {
	margin-top: 20px;
}
.form form div div.form_caution {
	color: #d90000;
	display: none;
}
.form form div div.form_caution_tent {
	color: #d90000;
	padding-top: 10px;
	display: none;
}
.form form div img#captcha {
	float: left;
	border: #c9caca solid 1px;
	margin-left: 10px;
}
.form form div div#captcha_refresh a {
	background: url(../images/refresh.png) no-repeat;
	width: 122px;
	height: 68px;
	display: block;
	float: left;
}
.form form div span {
	margin-left: 10px;
	font-size: 12px;
	color: #d90000;
}
.form form div span.note {
	margin-left: 0;
	font-size: 12px;
	color: #000;
}
.form form div label {
	width: 160px;
	float: left;
	padding-top: 10px;
}
.form form div label.practice {
	background: #fff100;
}
.form form div label.wd200 {
	width: 200px;
}
.form form input[type="text"],
.form form select,
.form form input[type="password"],
.form form input[type="date"],
.form form input[type="time"],
.form form input[type="mail"],
.form form input[type="tel"] {
	border-radius: 3px;
	padding: 10px;
	border: 1px solid #DDD;
	width: 250px;
	float: left;
}
.form form input[type="text"].wide30 {
	width: 20px;
}
.form form input[type="text"].wide120 {
	width: 120px;
}
.form form input[type="text"].wide300 {
	width: 300px;
}
.form form input[type="text"].wide80per {
	width: 80%;
}
.form form select.year {
	width: 80px;
	float: none;
}
.form form select.date {
	width: 60px;
	float: none;
}
.form form input[type="submit"] {
	border-radius: 3px;
	padding: 10px;
	border: 1px solid #DDD;
	background: linear-gradient(#efefef, #c9caca);
	margin: auto;
	display: block;
	width: 250px;
}
.form form.in_table {
	margin-left: 20px;
	margin-top: 0px;
	display: inline-block;
}
.form form.in_table input[type="submit"] {
	border-radius: 3px;
	padding: 3px;
	border: 1px solid #DDD;
	background: linear-gradient(#efefef, #c9caca);
	margin: auto;
	display: block;
	width: 150px;
}
.form form input[type="submit"]:hover {
	background: linear-gradient(#c9caca, #efefef);
}
.form form div div.form_plus {
	margin-left: 10px;
	margin-top: 10px;
	float: left;
}
.form form div div.form_plus_2 {
	margin-top: 10px;
	float: left;
}
.inner_formH4 {
	margin-left: -50px;
	margin-top: 50px;
}
/* 複数入力用 20191128 */
.form form div.multiple_input label {
    float: none;
}
.form form div.multiple_input select {
    float: none;
}
.error_text {
	display: none;
}
.view .view_inner {
	margin: 20px 0 50px 20px;
}
.view dl dt {
	clear: left;
	float: left;
	background: #cccccc;
	padding: 3px 5px;
	border-radius: 5px;
	margin-bottom: 5px;
	width: 120px;
	text-align: center;
}
.view dl dd {
	padding: 3px 5px;
	float: left;
}
.view_inner .link_01 a {
	display: block;
	border: #999999 solid 1px;
	background: url(../images/arrow_link.png) right 5px center no-repeat #cccccc;
	background-size: 5px 8px;
	padding: 5px 20px 5px 10px;
	width: 160px;
	border-radius: 5px;
	color: #060606;
	text-align: center;
}
.view_inner .link_01 a:hover {
	text-decoration: underline;
	background: url(../images/arrow_link.png) right 5px center no-repeat #e5f1fb;
	background-size: 5px 8px;
}
.view_inner .view_button input[type="submit"] {
	border: #999999 solid 1px;
	background: url(../images/arrow_link.png) right 5px center no-repeat #cccccc;
	background-size: 5px 8px;
	padding: 5px 20px 5px 10px;
	width: 190px;
	border-radius: 5px;
	color: #060606;
}
.view_inner .view_button input[type="submit"]:hover {
	border: #0078d7 solid 1px;
	background: url(../images/arrow_link.png) right 5px center no-repeat #e5f1fb;
	background-size: 5px 8px;
}
table.list01 {
	margin-top: 30px;
	width: 100%;
}
table.list02 {
	margin-top: 0px;
	width: auto;
}
table.list01 tr,
table.list02 tr {
	border-top: #aaa solid 1px;
	border-left: #aaa solid 1px;
}
table.list01 tr td,
table.list02 tr td {
	padding: 5px;
	border-bottom: #aaa solid 1px;
	border-right: #aaa solid 1px;
	vertical-align: middle;
	white-space: nowrap;
}
table.list01 tr td p {
	padding-top: 10px;
}
table.list01.odd tr:nth-child(odd) {
	background: #EBEBEB;
}
/*----*/
.table-scroll {
  overflow-x: auto;
}
.table-scroll table {
  width: 100%;
  min-width: 1000px;
  table-layout: fixed;
  margin-bottom: 1px;
  border-collapse: collapse;
}
.table-scroll th,
.table-scroll td {
  width: 200px;
  padding: 15px;
  border: 1px #ccc solid;
}
.table-scroll .sticky{
  position: sticky;
  top:0;
  left:0;
  border-left: none;
  border-right: none;
  background: none;
}
.table-scroll .sticky::before{
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border-left: 1px #ccc solid;
  border-right: 1px #ccc solid;
  background-color: #eee;
  z-index: -1;
  box-sizing: content-box;
}
/*----*/
#ba_danatai {
	background: #dddddd;
	padding: 15px;
	border-radius: 5px;
	width: calc(100% - 30px);
	margin-bottom: 30px;
	color: #c7000b;
}
#ba_danatai a {
	padding: 10px;
	border-radius: 5px;
	background-image: -moz-linear-gradient( 90deg, rgb(220,221,221) 0%, rgb(255,255,255) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(220,221,221) 0%, rgb(255,255,255) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(220,221,221) 0%, rgb(255,255,255) 100%);
	border: #9fa0a0 solid 1px;
	display: block;
	width: 250px;
	margin: 20px auto 5px;
	text-align: center;
	color: #000;
}
#ba_danatai a:hover {
	background-image: -moz-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(220,221,221) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(220,221,221) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(255,255,2556) 0%, rgb(220,221,221) 100%);
}
#entry2 table {
	margin-bottom: 10px;
}
#entry2 #koumoku {
	padding-left:10px;
	padding-right:10px;
	background: #CCC;
	vertical-align: middle;
}
#entry2 #ryuui {
	padding: 20px;
	background: #f7c9dd;
}
#entry2 #ryuui li {
	list-style-type: disc;
}
#entry2 #input {
	padding-left: 10px;
	padding-right:10px;
	vertical-align: middle;
}
/*ビジネスアリーナ申込ボタン*/
.businessarena_submit {
	font-size: 14px;
	font-weight: bold;
	padding: 10px;
	color: #ffffff;
	background: #ff0000;
	border-radius: 7px;
}
/*管理者ページ*/
#entry_cmp {
  background: #efefef;
  width: 500px;
  padding: 50px 80px;
  border-radius: 10px;
  margin: 50px auto;
}
/**
 * --------------------------------------------------------------------------------
 * 旧ページから
 * --------------------------------------------------------------------------------
 */
.cookie-consent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 12px;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-agree {
  color: #fff;
  background: dodgerblue;
  padding: .5em 1.5em;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/* メディアクエリ */
@media screen and (max-width: 600px) {
  .cookie-consent {
    flex-direction: column;
  }
  .cookie-text {
    margin-bottom: 1em;
  }
}
/**
 * --------------------------------------------------------------------------------
 * BOX LUNCH
 * --------------------------------------------------------------------------------
 */
a.btn_next,
button.btn_next {
	display: block;
	background: #d90000;
	font-size: 20px;
	color: #fff;
	font-weight: 999;
	padding: 10px 50px;
	border-radius: 10px;
	border: none;
	margin: 0 auto;
	width: 120px;
	text-align: center;
	position: relative;
}
button.btn_next {
	width: auto;
}
a.btn_next.wide300 {
	width: 300px;
}
a.btn_next::before,
button.btn_next::before {
	position: absolute;
	content: "";
	top: 22px;
	right: 18px;
    width: 8px;
    height: 8px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
a.btn_next::after,
button.btn_next::after {
	position: absolute;
	content: "";
	top: 22px;
	right: 10px;
    width: 8px;
    height: 8px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/**
 * Status
 * -------------------------------
 */

.cnt_status {
    margin-bottom: 40px;
    text-align: center;
    }

    .cnt_status > ul {
        background-color: #f2f2f2;
        display: inline-table;
        list-style: none;
        border: 1px solid #d9d9d9;
        table-layout: fixed;
        }

        .cnt_status > ul > li {
            display: table-cell;
            padding: 15px 35px 15px 45px;
            position: relative;
            vertical-align: middle;
            text-align: center;
            box-sizing: border-box;
            }
        
        .cnt_status > ul > li::after {
            content: "";
            background-image: url("../images/status_arrow.png");
            background-repeat: no-repeat;
            background-position: 50% 50%;
            background-size: 100% 100%;
            width: 10px;
            height: 100%;
            position: absolute;
            top: 0;
            right: -10px;
			z-index: 1;
            }

        .cnt_status > ul > li.active {
            background-color: #d90000;
            color: #fff;
            font-weight: bold;
            }
        .cnt_status > ul > li.active::after {
            background-image: url("../images/status_arrow_active.png");
            }
/*
        .cnt_status > ul > li:first-child::after {
			background: none;
            }
        .cnt_status > ul > li.active:before,
        .cnt_status > ul > li.active+li:before{ background-image: url("../images/status_arrow_active.png"); }
        .cnt_status > ul > li:nth-of-type(1):before { display: none; }
/**
 * Icon
 * -------------------------------
 */

.cnt_icon {
    display: inline-block;
    padding-left: 18px;
    position: relative;
    }

    .cnt_icon:before,
    .cnt_icon:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        }

    .cnt_icon_arrow:before {
        width: 6px;
        height: 6px;
        margin-top: 0.5em;
        margin-left: 2px;
        border-bottom: solid 2px #d90000;
        border-right: solid 2px #d90000;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        }

    .cnt_icon_darrow:before {
        width: 6px;
        height: 6px;
        margin-top: 0.4em;
        margin-left: 3px;
        border-bottom: solid 2px #d90000;
        border-right: solid 2px #d90000;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        }

    .cnt_icon_uarrow:before {
        width: 6px;
        height: 6px;
        margin-top: 0.6em;
        margin-left: 3px;
        border-top: solid 2px #d90000;
        border-right: solid 2px #d90000;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        }

    .cnt_icon_blank:before,
    .cnt_icon_blank:after {
        background-color: #fff;
        width: 8px;
        height: 6px;
        margin-top: 0.4em;
        border: solid 1px #d90000;
        }
    .cnt_icon_blank:before {
        -webkit-transform: translate(3px, 3px);
        transform: translate(3px, 3px);
        }

    .cnt_icon_plus:before,
    .cnt_icon_plus:after {
        background-color: #d90000;
        width: 12px;
        height: 2px;
        margin-top: 0.65em;
        }
    .cnt_icon_plus:after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        }

    .cnt_icon_minus:before {
        background-color: #d90000;
        width: 12px;
        height: 2px;
        margin-top: 0.65em;
        }

    .cnt_icon_pdf:before,
    .cnt_icon_pdf:after { margin-top: 0.3em; }

    .cnt_icon_pdf:before {
        background-color: #fff;
        width: 9px;
        height: 11px;
        border: solid 1px #d90000;
        }
    .cnt_icon_pdf:after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 0 0 5px;
        border-color: #fff #fff #fff #d90000;
        -webkit-transform: translate(6px, 0);
        transform: translate(6px, 0);
        }
.gg-software-download {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 16px;
    height: 6px;
    border: #d90000 2px solid;
    border-top: 0;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    margin-top: 8px;
	margin-left: 10px;
}
.gg-software-download::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 8px;
    height: 8px;
    border-left: #d90000 2px solid;
    border-bottom: #d90000 2px solid;
    transform: rotate(-45deg);
    left: 2px;
    bottom: 4px
}
.gg-software-download::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 3px;
    width: 2px;
    height: 10px;
    background: #d90000;
    left: 5px;
    bottom: 5px
}

/**
 * --------------------------------------------------------------------------------
 * BOX LUNCH
 * --------------------------------------------------------------------------------
 */
	
/* -- Clearfix -- */
.clearfix:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    font-size: 0.1em;
    }
.clearfix { zoom:1; }

.tx_center { text-align: center; }


/* -- Margin -- */
.mg0 { margin: 0 !important; }
.mg5 { margin: 5px !important; }
.mg10 { margin: 10px !important; }
.mg15 { margin: 15px !important; }
.mg20 { margin: 20px !important; }
.mg25 { margin: 25px !important; }
.mg30 { margin: 30px !important; }
.mg35 { margin: 35px !important; }
.mg40 { margin: 40px !important; }
.mg45 { margin: 45px !important; }
.mg50 { margin: 50px !important; }
.mg55 { margin: 55px !important; }
.mg60 { margin: 60px !important; }
.mg65 { margin: 65px !important; }
.mg70 { margin: 70px !important; }
.mg75 { margin: 75px !important; }
.mg80 { margin: 80px !important; }
.mg85 { margin: 85px !important; }
.mg90 { margin: 90px !important; }
.mg95 { margin: 95px !important; }
.mg100 { margin: 100px !important; }
.mg105 { margin: 105px !important; }
.mg110 { margin: 110px !important; }
.mg115 { margin: 115px !important; }
.mg120 { margin: 120px !important; }

.mgt0 { margin-top: 0 !important; }
.mgt5 { margin-top: 5px !important; }
.mgt10 { margin-top: 10px !important; }
.mgt15 { margin-top: 15px !important; }
.mgt20 { margin-top: 20px !important; }
.mgt25 { margin-top: 25px !important; }
.mgt30 { margin-top: 30px !important; }
.mgt35 { margin-top: 35px !important; }
.mgt40 { margin-top: 40px !important; }
.mgt45 { margin-top: 45px !important; }
.mgt50 { margin-top: 50px !important; }
.mgt55 { margin-top: 55px !important; }
.mgt60 { margin-top: 60px !important; }
.mgt65 { margin-top: 65px !important; }
.mgt70 { margin-top: 70px !important; }
.mgt75 { margin-top: 75px !important; }
.mgt80 { margin-top: 80px !important; }
.mgt85 { margin-top: 85px !important; }
.mgt90 { margin-top: 90px !important; }
.mgt95 { margin-top: 95px !important; }
.mgt100 { margin-top: 100px !important; }
.mgt105 { margin-top: 105px !important; }
.mgt110 { margin-top: 110px !important; }
.mgt115 { margin-top: 115px !important; }
.mgt120 { margin-top: 120px !important; }

.mgr0 { margin-right: 0 !important; }
.mgr5 { margin-right: 5px !important; }
.mgr10 { margin-right: 10px !important; }
.mgr15 { margin-right: 15px !important; }
.mgr20 { margin-right: 20px !important; }
.mgr25 { margin-right: 25px !important; }
.mgr30 { margin-right: 30px !important; }
.mgr35 { margin-right: 35px !important; }
.mgr40 { margin-right: 40px !important; }
.mgr45 { margin-right: 45px !important; }
.mgr50 { margin-right: 50px !important; }
.mgr55 { margin-right: 55px !important; }
.mgr60 { margin-right: 60px !important; }
.mgr65 { margin-right: 65px !important; }
.mgr70 { margin-right: 70px !important; }
.mgr75 { margin-right: 75px !important; }
.mgr80 { margin-right: 80px !important; }
.mgr85 { margin-right: 85px !important; }
.mgr90 { margin-right: 90px !important; }
.mgr95 { margin-right: 95px !important; }
.mgr100 { margin-right: 100px !important; }
.mgr105 { margin-right: 105px !important; }
.mgr110 { margin-right: 110px !important; }
.mgr115 { margin-right: 115px !important; }
.mgr120 { margin-right: 120px !important; }

.mgb0 { margin-bottom: 0 !important; }
.mgb5 { margin-bottom: 5px !important; }
.mgb10 { margin-bottom: 10px !important; }
.mgb15 { margin-bottom: 15px !important; }
.mgb20 { margin-bottom: 20px !important; }
.mgb25 { margin-bottom: 25px !important; }
.mgb30 { margin-bottom: 30px !important; }
.mgb35 { margin-bottom: 35px !important; }
.mgb40 { margin-bottom: 40px !important; }
.mgb45 { margin-bottom: 45px !important; }
.mgb50 { margin-bottom: 50px !important; }
.mgb55 { margin-bottom: 55px !important; }
.mgb60 { margin-bottom: 60px !important; }
.mgb65 { margin-bottom: 65px !important; }
.mgb70 { margin-bottom: 70px !important; }
.mgb75 { margin-bottom: 75px !important; }
.mgb80 { margin-bottom: 80px !important; }
.mgb85 { margin-bottom: 85px !important; }
.mgb90 { margin-bottom: 90px !important; }
.mgb95 { margin-bottom: 95px !important; }
.mgb100 { margin-bottom: 100px !important; }
.mgb105 { margin-bottom: 105px !important; }
.mgb110 { margin-bottom: 110px !important; }
.mgb115 { margin-bottom: 115px !important; }
.mgb120 { margin-bottom: 120px !important; }

.mgl0 { margin-left: 0 !important; }
.mgl5 { margin-left: 5px !important; }
.mgl10 { margin-left: 10px !important; }
.mgl15 { margin-left: 15px !important; }
.mgl20 { margin-left: 20px !important; }
.mgl25 { margin-left: 25px !important; }
.mgl30 { margin-left: 30px !important; }
.mgl35 { margin-left: 35px !important; }
.mgl40 { margin-left: 40px !important; }
.mgl45 { margin-left: 45px !important; }
.mgl50 { margin-left: 50px !important; }
.mgl55 { margin-left: 55px !important; }
.mgl60 { margin-left: 60px !important; }
.mgl65 { margin-left: 65px !important; }
.mgl70 { margin-left: 70px !important; }
.mgl75 { margin-left: 75px !important; }
.mgl80 { margin-left: 80px !important; }
.mgl85 { margin-left: 85px !important; }
.mgl90 { margin-left: 90px !important; }
.mgl95 { margin-left: 95px !important; }
.mgl100 { margin-left: 100px !important; }
.mgl105 { margin-left: 105px !important; }
.mgl110 { margin-left: 110px !important; }
.mgl115 { margin-left: 115px !important; }
.mgl120 { margin-left: 120px !important; }

.pdt10 { padding-top: 10px !important; }


@media all and (min-width: 0px) and (max-width: 767px) {
    /* -- Layout -- */
    body { overflow-x: hidden; }
    .wrapper, article {
        width: 100%;
        margin: auto;
    }
    /* header */
    header {
        height: 72px;
    }
    header ul#regular {
        display: none;
    }
	header ul#regular.active {
        display: block;
		position: fixed;
		top: 76px;
		left: 0;
		background: rgba(0, 0, 0, 0.95);
		padding: 40px 20px;
		z-index: 2;
	}
	header h1 a {
		background-size: 190px auto;
		width: 190px;
		height: 37px;
		margin-left: 15px;
	}
	header h2 {
		padding-top: 7px;
		font-size: 10px;
		margin-left: 15px;
	}
    header .header_btn {
        display: block;
	}
    header .header_btn a {
        display: block;
        width: 50px;
        height: 50px;
        position: absolute;
        top: 10px;
        right: 10px;
    }
    .header_btn a > span {
        background-color: #000;
        display: inline-block;
        width: 20px;
        height: 2px;
        position: absolute;
        right: 15px;
        -webkit-transition: .15s ease-in-out;
        -moz-transition: .15s ease-in-out;
        transition: .15s ease-in-out;
    }
    .header_btn a > span:nth-of-type(1) {
        top: 17px;
    }
    .header_btn a > span:nth-of-type(2) {
        top: 23px;
    }
    .header_btn a > span:nth-of-type(3) {
        top: 29px;
    }
    .header_btn a.active > span:nth-of-type(1) {
        top: 23px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .header_btn a.active > span:nth-of-type(2) {
        width: 0;
    }
    .header_btn a.active > span:nth-of-type(3) {
        top: 23px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .header_btn a.active::after {
        content: "";
        width: 0;
        height: 0;
        margin-left: -10px;
        border-style: solid;
        border-width: 10px 10px 0 10px;
        border-color: #d90000 transparent transparent;
        position: absolute;
        left: 50%;
        bottom: -22px;
    }
	header ul#regular::after,
	header ul#regular li::before,
	header ul#regular li.active::after {
		content: none;
	}
	header ul#regular li {
		width: 100%;
		border-bottom: #d90000 solid 1px;
	}
	header ul#regular li:first-child {
		border-top: #d90000 solid 1px;
	}
	header ul#regular li a {
		text-align: left;
		padding: 12px 10px;
		background-image: -moz-linear-gradient( 90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
		background-image: -webkit-linear-gradient( 90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
		background-image: -ms-linear-gradient( 90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
		position: relative;
	}
	header ul#regular li a::after{
		content: "";
		right: 10px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #898989;
		border-right: 2px solid #898989;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 18px;
	}
	header ul#regular li a:hover::after{
		border-top: 2px solid #d90000;
		border-right: 2px solid #d90000;
	}

	header ul#regular li a span {
		display: inline-block;
		margin-left: 30px;
		position: relative;
		padding: 0 15px;
	}
	header ul#regular li a span::before {
		content: "";
		border-bottom:  1px solid #898989;
		width: 20px;
		display: inline-block;
		bottom: 5px;
		left: -10px;
		position: absolute;
	}
	header ul#regular li a span::after {
		content: "";
		border-bottom:  1px solid #898989;
		width: 20px;
		display: inline-block;
		bottom: 5px;
		right: -10px;
		position: absolute;
	}
	/* login */
	#login {
		background-image: -moz-linear-gradient( 90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
		background-image: -webkit-linear-gradient( 90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
		background-image: -ms-linear-gradient( 90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
		border-radius: 0;
		position: fixed;
		top: 247px;
		width: calc(100% - 80px);
	}
	
	
	/* article */
	article #regular_L {
		float: none;
		width: calc(100% - 20px);
		padding: 0 10px;
	}
	article #regular_L .read {
		padding-left: 10px;
	}
	article #regular_R {
		float: none;
		/*width: calc(100% - 20px);*/
		padding: 0 20px;
	}
	article h3 {
		padding: 5px 0 8px 10px;
		height: auto;
	}
    /* footer */
    footer {
        width: 100%;
        padding-bottom: 0px;
    }
    footer ul, footer ul li {
        float: none;
    }
    footer ul {
        display: table;
    }
    footer ul li {
        display: table-cell;
        padding-left: 10px;
    }
    footer .wrapper #copyright {
        float: none;
        width: 100%;
        text-align: center;
        background: #000;
        color: #fff;
        padding: 10px 0;
		position: relative;
    }
	footer .wrapper .page_top {
		left: auto;
		right: 10px;
	}
	.flow,
	.form,
	.view,
	.form form,
	.view .view_inner {
		margin-left: 0px;
		padding-left: 10px;
		padding-right: 10px;
	}
	.form form input[type="text"],
	.form form input[type="text"].wide300,
	.form form select,
	.form form input[type="password"] {
		width: calc(100% - 20px);
	}
	.form form input[type="text"].wide300 {
		margin-left: 0;
	}
	.form form div label {
		width: 100%;
	}
	#entry_cmp {
	  width: calc(100% - 40px);
	  padding: 10px;
	  border-radius: 10px;
	  margin: 50px 10px;
	}
	table.list01 tr td,
	table.list02 tr td {
		white-space: normal;
	}
/**
 * --------------------------------------------------------------------------------
 * 旧ページから
 * --------------------------------------------------------------------------------
 */
	.sub01,
	.sub03 {
		clear: both;
	}
/**
 * --------------------------------------------------------------------------------
 * 旧ページから
 * --------------------------------------------------------------------------------
 */    
/**
 * Status
 * -------------------------------
 */

.cnt_status {
	margin-bottom: 20px;
	position: relative;
	top: auto;
	right: auto;
	}

    .cnt_status > ul {}

        .cnt_status > ul > li { padding: 5px 15px 5px 20px; }
        
        .cnt_status > ul > li:before { width: 10px; }
    /* -- スマホ対応 -- */
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
    
}
	