@charset "utf-8";



@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap');

/* 既存CSS調整
----------------------------------------------------*/

:root {
    --red: #d71e1e;
    --blue: #0084d2;
    --navy: #195077;
    --navy2: #062e4e;
}

/* スクロール */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-thumb {
    background: var(--navy2);
    border-radius: 5px;
}


body {
    font-size: 15px;
}

body.body_lump_edit .project_head_btn_area ,
body.body_lump_board .project_head_btn_area {
    display: none;
}


a:visited {
    color: #2572a0;
    text-decoration: none;
}

#global {
    width: 100%;
    margin: 0px auto;
    padding: 0px;
    font-size: 100%;
    background-color: #f6f9fd;
}
#content {
    width: 100%;
    padding: 0px 0px 30px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
#content.wide {
    margin-top: 30px;
}
#content.noflex {
    width: 100%;
    padding: 0px 0px 30px;
    display: block;
}
#main2 {
	position: relative;
    margin: 35px auto 50px auto;
    max-width: 1000px;
    width: calc( 100% - 275px );
    min-height: 100vh;
}
#sidr {
	width: 220px;
    z-index: 1;
}
#nav-drawer,
#side,
#side2 {
    /* z-index: 2;*/
    z-index: 3;
	width: 220px;
}
/*
#global.type_direct #nav-drawer {
    display: none;
}
#global.type_direct #main2 {
    width: auto;
    margin: 30px auto;
}

#global.type_direct #footer.type2 {
    width: 100%;
    margin: 0;
}

#global.type_direct #main2 #breadcrumb {
    display: none;
}
*/

.pass_area #buttonEye {
    top: 5px;
    font-size: 16px;
}

#global.type_direct .sidebar.type_1 {
    display: none;
}

.inner {
    max-width: 1076px;
    width: 96%;
}

section {
    width: 100%;
    padding: 40px 0px;
}
#breadcrumb {
    margin-bottom: 20px;
    padding: 0;
    border: 0;
    background: none;
    text-align: right;
    display: none;
}
p {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.5px;
}
.tab2 li a {
    font-size: 16px;
}
.tab2 li.active a, .tab2 li a:hover {
    color: var(--navy);
}
.tab2 li a:before {
    background-color: var(--navy);
}

.button_n,.button_n2,.button_y {
    padding: 16px 12px;
    border-radius: 5px;
}
.button_s {
    border-radius: 5px;
}
.button_s,
.button_n {
    background-color: var(--navy);
    border: 2px solid var(--navy);
}
.button_s:hover {
    border: 2px solid var(--navy);
}

.button_n:hover {
    color: var(--navy) !important;
}
/* header
----------------------------------------------------*/

#header {
    position: relative;
    z-index: 19;
    width: 100%;
    /*
    height: 120px;
    background: #fff;
    border-bottom: 1px solid #ddd;
    */
}
.head_top {
    background: var(--navy2);
    color: #fff;
    padding: 2px 0px;
}
#header .inner {
    max-width: inherit;
    align-items: center;
}
.head_top .left {
	margin-right: auto;
    letter-spacing: 0.5px;
}
.head_top a {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
}
.head_top .right {
	margin-right: 0px;
}
.head_menu {
	
}
.head_menu li {
    display: inline-block;
    padding: 7px 7px;
    letter-spacing: 0.5px;
}
.head_menu li a {
	color:#f7f8f9;
	text-decoration: none;
    font-size: 13px;
}

.head_menu li a i {
	margin-right:5px;
}
.head_menu #alertContainer.hidden {
    display: none;
}
.head_menu #alertContainer .noread_ctn {
    top: 0px;
}
#header .site_logo {
    margin-top: 25px;
    margin-left: 25px;
}
#top_g_navi {
    position: absolute;
    top: 65px;
    right: 10px;
}
#top_g_navi nav {
    display: inline-block;
    margin: 0 auto 0px;
}
#top_g_navi .nav>ul {
    display: flex;
    align-items: center;
}
#top_g_navi .nav>ul>li {
    position: relative;
}
#top_g_navi .nav ul>li>a {
    display: block;
    padding: 0px 10px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}
#top_g_navi .nav ul>li>a .svg_icon {
	width: 16px;
    height: 16px;
}
.head_title h1, .head_title h2 {
    font-size: 22px;
}
.fa, .fas, .fa-solid {
	margin-right: 3px;
}
.noread_ctn {
    color: #fff !important;
}

.user_topics_area {
    position: relative;
    z-index: 6;
    padding: 12px 12px 12px 24px;
    background: #fff;
}
.user_topics_area p {
    display: flex;
    align-items: center;
    font-weight: 600;
    line-height: 1.6;
}
.user_topics_area .cate {
    display: inline-block;
    margin-right: 10px;
    padding: 3px 7px;
    min-width: 72px;
    border: 1px solid var(--blue);
    color: var(--blue);
    border-radius: 5px;
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 1.4;
    text-align: center;
}
.user_topics_area p a {
    color: var(--blue);
    text-decoration: underline;
}

/* ヘッダーのAIフォーム
----------------------------------------------------*/
body.user #nav-drawer .ai_btn_area,
body.project #nav-drawer .ai_btn_area {
    display: none;
}
.ai_btn_area {
    position: relative;
    z-index: 2;
    margin: 30px 7px 0px 7px;
    padding: 15px 8px;
    background: #fff;
}
.ai_btn_area .tl {
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--navy);
    text-align: center;
    font-weight: 800;
}
#main2 .ai_btn_area .tl {
    display: none;
}
#main2 .ai_input_wrapper {
    border: 2px solid #2c2c2c;
}
.ai_input_wrapper {
    position: relative; /* ボタンを絶対配置するための基準 */
    display: flex;
    background-color: #fff8e1; /* 画像のような薄いクリーム色 */
    padding: 10px;
    padding-bottom: 45px; /* ボタンが重ならないように下に余白を確保 */
    transition: border-color 0.2s;
}

.ai_input_wrapper:focus-within {
    border-color: #1a73e8;
    box-shadow: 0 1px 3px rgba(32,33,36,.18); /* 浮き上がるような効果 */
}
.ai_btn_area .aiSearchInput {
    width: 100%;
    max-height: 56px;
    min-height: auto;
    padding: 0px;
    transition: all 0.2s ease-in-out 0s;
    font-size: 13px;
    font-weight: 500;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    outline: none;
    background: transparent;
    resize: none;
}
.ai_btn_area .aiSearchInput:focus {
    outline: none;
    box-shadow: none;
}
.ai_btn_area .aiSearchInput::placeholder {
	color: #888;
    letter-spacing: -.5px;
}
.ai_button_n {
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 30px;
    height: 30px;
    background-color: var(--blue);
    color: #fff;
    border: none;
    border-radius: 50%; /* 円形にする */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.2s, opacity 0.2s;
}
.ai_button_n:hover {
    background-color: var(--navy);
}

/* 未入力時のボタン色を薄くしたい場合（任意） */
.ai_button_n:disabled {
    background-color: #ccc;
    cursor: default;
}

/* SVGアイコンの微調整 */
.ai_button_n svg {
    margin-left: 1px; /* 紙飛行機の向きに合わせて中心を微調整 */
}
.aiSearchError {
    position: absolute;
    z-index: 2;
    top: 0px;
    left: 216px;
    width: 210px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: -.5px;
    background: var(--red);
    color: #fff;
}
.aiSearchError:before {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border: 10px solid transparent;
    border-left-color: var(--red);
    transform: rotate(62deg);
    top: 17%;
    left: -3%;
}
.aiSearchError:empty,
.aiSearchError:empty:before{
    background: none;
    content: none;
}

/* ボタンの部品
----------------------------------------------------*/

button, input, select, textarea {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px;
    letter-spacing: 0.5px;
}

/*
input:focus,
select:focus,
textarea:focus {
    outline: 0;
    border: 2px solid #d96341 !important;
    background-color: #fffbe7 !important;
    box-shadow: 0 0 2px 3px rgb(255 237 0 / 50%);
}
*/

input[type=search],input[type=password],input[type=url],input[type=date],input[type=tel], input[type=text], input[type=url],input[type=email], textarea ,select {
    border: 2px solid #333;
    border-radius: 5px;
    -webkit-appearance: none;
    background: #fff9eb;
}
select {
	width: auto;
    padding: 0px 6px;
    background: #fff9eb;
    border: 2px solid #333;
    border-radius: 5px;
    -webkit-appearance: auto;
}

textarea {
    height: auto;
}

.button_n,
.button_n2 {
    font-size: 14px;
}

.button_n2 {
    color: var(--navy) !important;
    border: 2px solid  var(--navy);
}

.button_n2:hover {
    background-color: var(--navy);
}

.btn_area.second .button_n2 {
    margin-right: 10px;
    min-width: 90px;
    letter-spacing: 0;
}

ul.s_form_area {
    margin: 20px 0px;
    align-items: center;
}
ul.s_form_area li {
	margin-right: 15px;
}
ul.s_form_area li>span {
	display: inline-block;
	margin-right: 5px;
	font-weight: 600;
}
ul.s_form_area li:last-child {
	margin-right: 0px;
}
/* 案件一覧
----------------------------------------------------*/

.sj_list {
    margin-top: 30px;
    margin-bottom: 15px;
}
.sj_list>li {
    position: relative;
    width: 48%;
    margin: 1%;
}
.sj_list>li a {
	display: block;
    padding: 20px 12px;
    color: #333;
    border-bottom: 1px solid #ddd;
}
.sj_list>li:last-child a {
    border-bottom: 0;
}
.sj_list>li a:hover {
	text-decoration: none;
	opacity: 0.7;
}
/*
.sj_list>li:nth-child(even) {
    background-color:#FFFCF7;
}
*/
.sj_list>li:hover {
    background-color: #f5faff;
}
.sj_list li .img {
	width: 90px;
}
.sj_list li .img img {
    border-radius: 50%;
}
.sj_list li .right {
    width: calc(100% - 90px);
    padding-left: 20px;
}
.sj_list li .right .status {
    margin-bottom: 7px;
}
.sj_list h2 {
    color: #333;
    font-size: 20px;
    font-weight: 600;
}
.sj_list h2 span {
    margin-right: 8px;
}

.sj_flow {
    margin: 10px 0px 0px;
    font-size: 10px;
    letter-spacing: 0.5px;
    color: #777;
}
.sj_flow a {
    color: #777;
    text-decoration: underline;
}
.sj_flow a:hover {
    text-decoration: none;
}

.sj_list>li .sub_area {
	margin-top: 5px;
}
.sub_area li {
    display: inline-block;
    margin-top: 10px;
    margin-right: 8px;
}
.sub_area li:last-child {
    margin-right: 0px;
}
.sub_area span.tl {
    display: inline-block;
    min-width: 85px;
    margin-right: 8px;
    padding: 4px 10px 6px;
    line-height: 1;
    background: #efefef;
    border-radius: 20px;
    letter-spacing: 1px;
    font-size: 12px;
    color: #333;
    font-weight: 500;
    text-align: center;
}
.sj_list>li:nth-child(even) .sub_area span.tl {
    background: #efebe1;
}
.sub_area span.view {
    font-size: 18px;
    line-height: 1;
    font-weight: 600;
    color: #d42f2f;
}
.sj_list>li .txt {
    margin: 12px 0px 0px 80px;
}

#main2 .sj_list>li {
    position: relative;
    width: 100%;
    margin: 0%;
}
#main2 .sj_list>li:hover {
    background: none;
}

.st_status {
    margin-bottom: 10px;
}
.st_status span {
    display: inline-block;
    padding: 5px 2px;
    width: 90px;
    font-size: 13px;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    letter-spacing: 2px;
    font-weight: 700;
}
.st_type_0 {
    background: var(--blue);
}
.st_type_0:before {
	content: "募集中";
}
.st_type_1 {
    background: #c92828;
}
.st_type_1:before {
	content: "契約済";
}
.st_type_2,
.st_type_9 {
    background: #333;
}
.st_type_2:before,
.st_type_9:before {
	content: "終了";
}
.st_type_5 {
    background: #466b58;
    font-size: 12px !important;
    letter-spacing: 0px !important;
}
.st_type_5:before {
	content: "募集ストップ";
}

.st_type_-1 {
    background: #753b3b;
}
.st_type_-1:before {
	content: "運営停止";
}

/* side
----------------------------------------------------------- */

#side_background {
	position: fixed;
    top: 0px;
	bottom: 0;
	width: 220px;
	z-index: 0;
	background: var(--navy);
}
.admin_mainbox {
    position: relative;
    z-index: 1;
    background: #fff;
}

.admin_mainbox_in {
    padding: 20px 12px;
}
.admin_mainbox_info dl {
    align-items: center;
}
.admin_mainbox_info dl:first-child {
    margin-bottom: 5px;
    border-bottom: 1px solid #ddd;
}
.admin_mainbox_info dl:first-child dt {
    font-weight: 700;
}
.admin_mainbox_info dl dt {
    width: 87px;
    letter-spacing: 0;
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 600;
}
.admin_mainbox_info dt i {
    margin-right: 3px;
}
.admin_mainbox_info dl:last-child dt,
.admin_mainbox_info dl:last-child dd  {
    margin-bottom: 0px;
}

.admin_mainbox_info dl dd {
    width: calc(100% - 87px);
    margin-bottom: 7px;
    padding-left: 10px;
    font-size: 12px;
    font-weight: 500;
    text-align: right;
    letter-spacing: 0;
    color: #555;
}
.admin_mainbox_info dl dd span {
    position: relative;
    top: 2px;
    left: -2px;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.5px;
}

.admin_mainbox_info dl dd a {

}

#admin_menu {
	width: 220px;
	position:relative;
	color: #fff;
}

#side2 nav ul {
	width: 220px;
	list-style: none;
	z-index:11;
}
.sidebar li {
	position: relative;
	font-size: 12px;
    letter-spacing: 1px;
    background: var(--navy);
}

.sidebar a {
	display: block;
	position: relative;
	color: #EDF9FD;
	line-height: 52px;
	height: 52px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	padding-left: 16px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.sidebar a:hover {
    padding-left: 20px;
	color: #fff;
    -webkit-transition: .4s ease 0s;
    transition: .4s ease 0s;
}
.sidebar a .s {
    font-size: 10px;
    letter-spacing: 0.2px;
}
.sidebar a i.fa {
	position: absolute;
	width: 15px;
	height: 15px;
	font-size: 15px;
	top: 15px;
	left: 12px;
	line-height: 1;
	text-align: center;
}
.sidebar>li.active > a {
	border: none;
	background-color: #f7f8f9;
	border-right: 1px solid #dfe5e7;
	color: #3d3f44;
}

.sidebar a span.new {
    display: inline-block;
    margin-left: 6px;
    padding: 4px 4px;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
    background: #ff3030;
    border-radius: 5px;
    color: #fff;
}

.en {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
}

.sidebar li.out_link:after,
.lump_nav_area nav ul.type_2 li:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f08e";
    position: absolute;
    right: 12px;
    top: 18px;
    font-size: 11px;
}
.lump_nav_area nav ul.type_2 li a {
    height: 42px;
    line-height: 42px;
    font-size: 12px;
}
.type_direct .lump_nav_area nav ul.type_2 li {
    background: none;
}


@media screen and ( min-width:760px ) {
    .wp-submenu {
        display: none;
        min-width: 210px;
        width: auto;
        list-style: none;
        position: absolute;
        top: 0px;
        left: 220px;
        z-index: 10;
        overflow: visible;
        word-wrap: break-word;
        padding: 0px;
        background-color: var(--navy2);
        -webkit-box-shadow: 0 3px 5px rgba(0,0,0,.2);
        box-shadow: none;
    }
}

.active .wp-submenu {
    display: block !important;
    position: relative;
    left: 0px !important;
    min-width: 100%;
    box-shadow: none;
    border: 0;
    /*
    padding-left: 5px;
    border-left: 5px solid var(--blue);
    */
}
.active .wp-submenu li {
    border-right: 0;
}
.active.submenu:after { 
	border: solid transparent;
    content: " "; 
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    right: 8px;
    border-right-color: #111;
    border-width: 6px;
    top: 22px;
    transform: rotate(-90deg);
	z-index: 12;
}

.wp-submenu li {
	border-bottom:none;
	background-color: var(--navy2);
}
.wp-submenu li a {
	padding-left: 18px;
    -webkit-transition: .4s ease 0s;
    transition: .4s ease 0s;
}

.wp-submenu li a:hover,
.wp-submenu li.active a {
    -webkit-transition: .4s ease 0s;
    transition: .4s ease 0s;
}
.wp-submenu li a:hover:before,
.wp-submenu li.active a:before {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    left: 10px;
    border-right-color: #fff;
    border-width: 5px;
    top: 21px;
    transform: rotate(180deg);
    z-index: 12;
    -webkit-transition: .4s ease 0s;
    transition: .4s ease 0s;
}

.wp-submenu li.active a {
    padding-left: 20px;
}

/* PCに適用させるCSS */
@media screen and ( minx-width:760px ) {


    .submenu:hover:after {
        right: 0;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-right-color: var(--navy2);
        border-width: 8px;
        top: 14px;
        z-index: 12;
    }
    .active .wp-submenu {
        display: block !important;
        position: relative;
        left: 0px !important;
        min-width: 100%;
    }
    .active.submenu:after { 
        border: solid transparent;
        content: " "; 
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        right: 10px;
        border-right-color: #111;
        border-width: 6px;
        top: 22px;
        transform: rotate(-90deg);
        z-index: 12;
    }

}
.sidebar li.banner a {
    margin-top: 10px;
    height: auto;
    padding: 0;
    text-align: center;
}
.sidebar li.banner a img {
    width: 200px;
}


/* main
----------------------------------------------------------- */

#main2 section {
    margin: 0px 0px 20px;
    padding: 5% 3%;
    background: #fff;
    box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 15%);
}

.more_area .hide .project_detail,
.more_btn span.hide {
	display: none;
}
.more_btn span {
    position: relative;
    display: block;
    margin: 20px auto 0px;
    padding-left: 24px;
    color: var(--navy);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.5px;
    cursor: pointer;
}
.more_btn span:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--navy);
    border-right: 2px solid var(--navy);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

.project_detail {
    margin-top: 20px;
}
.project_detail .base_tl {
    margin-bottom: 15px;
}
.project_detail .base_tl h3 {
    margin-top: 25px;
    margin-bottom: 10px;
    padding: 10px 15px;
    font-size: 16px;
    background: #efefef;
    border-bottom: 0;
    border-radius: 20px;
}
.item_box_area p {
    padding-left: 15px;
}

/* 複数選択フォーム
----------------------------------------------------------- */

.ms-parent {
	width: 176px !important;
	display: inline-block;
	position: relative;
	vertical-align: middle;
}
.ms-choice {
	display: block;
	width: 100%;
	height: 50px;
	line-height: 50px;
	padding: 4px;
	overflow: hidden;
	cursor: pointer;
	text-align: left;
	white-space: nowrap;
	color: #333;
    background: #fff9eb;
    border: 2px solid #333;
    border-radius: 5px;
}
.ms-choice.disabled {
	background-color: #f4f4f4;
	background-image: none;
	border: 1px solid #ddd;
	cursor: default;
}
.ms-choice>span {
	position: absolute;
	top: 0;
	left: 0;
	right: 20px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	padding-left: 8px;
}
.ms-choice>span.placeholder {
	color: #999;
}
.ms-choice>div {
	position: absolute;
	top: 12px;
	right: 0;
	width: 20px;
	height: 25px;
	background: url('/common/img/multiple-select.png') left top no-repeat;
}
.ms-choice>div.open {
	background: url('/common/img/multiple-select.png') right top no-repeat;
}
.ms-drop {
	width: 100%;
	overflow: hidden;
	display: none;
	margin-top: -1px;
	padding: 0;
	position: absolute;
	z-index: 1000;
	background: #fff;
	color: #000;
	border: 1px solid #aaa;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.ms-search {
	display: inline-block;
	margin: 0;
	min-height: 26px;
	padding: 4px;
	position: relative;
	white-space: nowrap;
	width: 100%;
	z-index: 10000;
}
.ms-drop ul {
	overflow: auto;
	margin: 0;
	padding: 5px 12px;
}
.ms-drop label.optgroup {
	font-size: 14px;
}
.ms-drop ul>li {
	float: none;
	height: 26px !important;
	line-height: 26px !important;
	overflow: hidden;
	padding-left: 20px;
	list-style: none;
	display: list-item;
	background-image: none;
	position: static;
}
.ms-drop ul>li.group {
	padding-left: 0px;
}
.ms-drop ul>li.ms-select-all {
	padding-left: 0px;
	padding-bottom: 4px;
	font-size: 14px;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	/* width: 100%; */
}
.ms-drop ul>li .disabled {
	opacity: .35;
	filter: Alpha(Opacity=35);
}
.ms-drop ul>li.multiple {
	display: block;
	float: left;
}
.ms-drop ul>li.group {
	padding: 2px 0px 0px;
	margin: 4px 0px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	clear: both;
}
.ms-drop ul>li.multiple label {
	width: 100%;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ms-drop ul>li label {
	display: block;
	white-space: nowrap;
}




/* module系
----------------------------------------------------------- */


.box {
    position: relative;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 15%);
}
.box p {
	font-weight: 600;
}
.box p a {
    color: #2572a0;
}
.box .fa,
.box .fas,
.box .fa-solid {
	margin-right: 5px;
	font-size: 14px;
}

.ts_btn,
.btn_menu button,
.btn_menu a {
    position: relative;
    display: inline-block;
    padding: 10px 22px;
    font-size: 14px;
    letter-spacing: 0.5px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    color: #878787;
    background: #fff;
    box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 10%);
    border: 1px solid #e7e7e7;
}
.btn_menu button:hover,
.btn_menu a:hover {
    color: #555 !important;
    background: #fff;
    border: 1px solid #767676;
    transition: .3s;
}
.btn_menu a .fas, .btn_menu a .fa-solid {
    font-size: 13px;
}

.btn_menu a.btn_cnt {
    color: #c92828;
}
.btn_menu a.btn_cnt:hover {
    color: #fff !important;
    background-color: #c92828;
    border-color: #fff;
}

.box_guide a {
    position: relative;
    padding: 15px;
    color: #333;
    background: #fff;
    box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 15%);
    -webkit-transition: .3s;
    align-items: center;
}
.box_guide a .icon {
    position: relative;
    margin-right: 10px;
    padding: 0px;
    width: 34px;
    height: 34px;
    background: var(--navy);
    border-radius: 50%;
    text-align: center;
}
.box_guide a .icon i {
    margin-right: 0;
    position: relative;
    top: 6px;
    left: 1px;
    font-size: 16px;
    color: #fff;
}
.box_guide a .tl {
    font-size: 16px;
    font-weight: 600;
    color: var(--navy2);
}
.box_guide a .txt {
    margin: 0 12px;
    font-size: 13px;
    letter-spacing: 0.5px;
}
.box_guide a .btn {
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid var(--navy2);
    color: var(--navy2);
    letter-spacing: 0;
    border-radius: 5px;
}
.box_guide a:focus,
.box_guide a:hover {
    text-decoration: none;
    color: #fff;
    background: var(--navy);
    border-color: var(--navy);
}
.box_guide a:focus .icon,
.box_guide a:hover .icon {
	background: #fff;
}
.box_guide a:focus .icon i,
.box_guide a:hover .icon i {
	color: var(--navy);
}
.box_guide a:focus .tl,
.box_guide a:focus .txt,
.box_guide a:hover .tl,
.box_guide a:hover .txt {
	color: #fff;
}
.box_guide a:focus .btn,
.box_guide a:hover .btn {
	border-color: #fff;
    background-color: #fff;
    color: var(--navy);
}


.box_guide_2 {
	align-items: center;
}

.box_guide_2 .img {
	width: 100px;
}
.box_guide_2 .btn {
	width: 220px;
    text-align: right;
}
.box_guide_2 .txt {
    width: calc(100% - 320px);
}
.box_guide_2 .txt p {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.6;
}
.box_guide_2 .heading h2 {
    margin-bottom: 10px;
}

.box_merit {
    display: block;
    position: relative;
    margin: 30px 0;
    padding: 20px;
    width: 100%;
    background: #f7f7f7;
}
.box_merit.caution_area {
    background: #fff1f1;
    color: #7a2929;
}
.box_merit .tl {
	margin-bottom: 12px;
    font-size: 16px;
    font-weight: 600;
}
.box_merit ul {
	margin: 0px;
    padding-top: 0px;
}
.box_merit li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 28px;
    font-weight: 600;
}
.box_merit li:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f00c";
    position: absolute;
    left: 0;
    top: 1px;
    font-weight: 900;
    font-size: 18px;
}
.box_merit li:last-child {
    margin-bottom: 0px;
}


/* 参加企業
---------------------------------------------------------*/

.msg_table {
	margin-top: 30px;
	margin-bottom: 30px;
	width: 100%;
	table-layout:fixed;
}
.msg_table thead th {
	text-align: center;
}

.msg_table th, .msg_table td {
	vertical-align: middle;
	font-size:13px;
	font-weight:normal;
	text-align:left;
	border-top: 1px solid #e4e2df;
	border-bottom: 1px solid #e4e2df;
}

.msg_table tr:last-child th,
.msg_table tr:last-child td {
    border-bottom: 0px;
}


.msg_table thead th {
	padding: 10px 8px 10px 12px;
	background-color:#f7f7f7;
	color: #888;
	font-weight: bold;
	line-height: 20px;
}
.msg_table thead th:last-child {
	
}

.msg_table td {
	vertical-align: middle;
    padding: 20px 5px;
	background-color: #fff;
	font-weight: normal;
	text-align: left;
}

.msg_table td:first-child {
	
}
.msg_table .t_center {
	text-align:center;
	padding: 0px;
}
.msg_table h3 {
	font-size: 13px;
}

.msg_table .add_part_status {
    width: 100%;
    text-align: center;
}
.msg_table .add_part_status .btn_menu a {
    min-width: 138px;
}
.msg_table .add_part_status .btn_menu .btn_l {
	margin-bottom: 10px;
}

.msg_table .add_part_status .st_status span {
    padding: 8px 2px;
    width: 90%;
}


/* お断りボタン */
/*
.hidden_partner_btn {
	display: inline-block;
	width: 50px;
	height: 50px;
	position: relative;
	cursor: pointer;
}
.hidden_partner_btn span::before,
.hidden_partner_btn span::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
    height: 8%;
    margin: -8% 0 0 -22%;
	background: #333;
	transition: 0.3s;
}
.hidden_partner_btn span::before {
	transform: rotate(-45deg);
}
.hidden_partner_btn span::after {
	transform: rotate(45deg);
}
.msg_table a.hidden_partner_btn:hover {
	background: none;
}
.hidden_partner_btn:hover span::before,
.hidden_partner_btn:hover span::after {
	background: #E91E63;
}
*/

/*  メッセージ一覧
----------------------------------------------------*/


.msg_list_t {
    border-top: 1px solid #ddd;
}
.sj_result .msg_list_t {
    border-top: 0px;
}
.msg_list_t li {
    position: relative;
    border-bottom: 1px solid #ddd;
}
.msg_list_t li:nth-child(even) {
    background: #F8F8F8;
}
.msg_list_t li:last-child {
    border-bottom: 0px;
}
.msg_list_t li a {
    display: block;
    padding: 25px 12px;
    color: #333;
}
.msg_list_t li a:hover {
    text-decoration: none;
    background-color: #e3ecef;
}
.msg_list_t .msg_created {
    position: absolute;
    top: 10px;
    right: 12px;
    margin-top: 0px;
}
.msg_created {
    font-weight: 500;
    letter-spacing: 0.5px;
}

.msg_list_t .overflow {
	padding: 15px 0px 0px;
}
.sj_list2 .msg_list_t .overflow {
	padding: 0px;
}

.send_type_msg {
	display: inline-block;
	padding: 1px 5px;
	margin-right: 8px;
	color: #fff;
	border-radius: 3px;
}
.msg_created.type_0 .send_type_msg  {
background: #428eb3;
}
.msg_created.type_1 .send_type_msg  {
background: #bb5e5e;
}
.msg_created.type_0 .send_type_msg:before {
content: "送信日";
}

.msg_created.type_1  {
color: #bb5e5e;
}

.msg_created.type_1 .send_type_msg:before{
content: "受信日";
}

a.partner_link {
	display: block;
    text-align: center;
}
a.partner_link .img {
    margin-bottom: 10px;
}
a.partner_link .tl {
    font-weight: 600;
    font-size: 14px;
    color: var(--blue);
}
a.partner_link p.address {
    font-size: 12px;
    line-height: 1.4;
    color: #878787;
}

/*
.pt_name {
font-weight: bold;
}
*/
.pt_name {
    margin-bottom: 5px;
    color: #555;
    font-weight: 500;
}
.ft_normal {
    font-weight: normal;
}
.pt_msg_lead {
    color: #125a75;
    font-weight: 600;
    margin: 2px 0px;
    font-size: 14px;
}
.msg_table .pt_msg_lead {
    margin: 12px 0px 0px;
    font-size: 13px;
    line-height: 18px;
}
.msg_table .pt_msg_lead a {
    display: block;
    color: var(--blue);
}
.msg_table .pt_msg_lead a p {
    color: var(--blue);
    font-size: 13px;
    letter-spacing: 0;
    line-height: 1.6;
}
.msg_table .pt_msg_lead .memo {
    margin-top: 10px;
    font-weight: 600;
}
.msg_table .pt_msg_lead .memo .ts_btn {
    color: #fff;
    background-color: var(--blue);
}
.msg_table .pt_msg_lead a:hover .memo .ts_btn {
    color: var(--blue);
    background-color: #fff;
}
.msg_table .pt_msg_lead .auto_msg {
    font-weight: 600;
}
.msg_table .msg_created.type_0 {
    color: #428eb3;
}
.project_tl_name {
    display: none;
    font-size: 12px;
    color: #828282;
}
.pt_address {
    margin-top: 5px;
    clear: both;
    color: #5e727b;
}
textarea.memo {
    width: 100%;
    padding: 6px 6px;
    min-height: 70px;
    font-size: 13px;
    font-weight: 500;
    background: #fffcef;
    border: 2px solid #bfbea7;
    color: #5c574f;
}

textarea.readonly_smt {
    background: #e9e9e9;
    color: #464646;
    border: 0;
}


.timeline_list_ct .memo:hover,
.timeline_list_ct .memo:focus,
.msg_table textarea.memo:hover,
.msg_table textarea.memo:focus {
    background: #fff;
    color: #333;
}
/* 出展者のステータス管理 */

.select_part_status {
	position: relative;
}
/*
.select_part_status:after{
	position: absolute;
	top: 0;
	right: 8px;
	bottom: 3px;
	width: 0;
	height: 0;
	margin: auto;
	content: '';
	border-top: 4px solid #fff;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}
*/
.select_part_status select{
	width: 100%;
	outline:none;
	text-indent: 0.01px;
    padding: 3px 3px 3px 12px;
    height: 36px;
    font-weight: 500;
	background: none;
	vertical-align: middle;
	font-size: inherit;
	color:#fff;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border-radius: 5px;
	margin-bottom: 10px;
	background-color: #333;
}
.select_part_status select option{
	background-color: #fff;
	color: #333;
}

.select_part_status select:hover {
	opacity: 0.7;
	cursor: pointer;
}
.select_part_status select::-ms-expand {
	display: none;
}
.select_part_status select:-moz-focusring { 
	color: transparent; 
	text-shadow: 0 0 0 #828c9a;
}
/* 未商談 */
.select_part_status.type_0 > select{
    background: #84989f;
    border-color: #84989f;
}
/* 面談予定 */
.select_part_status.type_20 > select{
    background: #449e4f;
    border-color: #449e4f;
}
/* 検討★ */
.select_part_status.type_30 > select{
    background: #d2a07c;
    border-color: #d2a07c;
}
/* 検討★★ */
.select_part_status.type_31 > select{
    background: #bd5e39;
    border-color: #bd5e39;
}
/* 検討★★★ */
.select_part_status.type_32 > select{
    background: #c72222;
    border-color: #c72222;
}
/* お断り */
.select_part_status.type_90 > select{
    background: #555;
    border-color: #555;
}

.talk_msg .auto_msg i {
    margin-right: 5px;
    font-size: 16px;
}

.my_memo {
    margin-bottom: 40px;
    padding: 20px;
    border: 3px solid #a7a6ab;
    background: #fbfbfb;
}

.my_memo .tl {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: 600;
    color: #6f6b78;
}

.my_memo .flex_in {
    align-items: center;
}
.my_memo .txt {
    width: 60%;
    padding-right: 25px;
}

.my_memo p {
    font-size: 13px;
    color: #6f6b78;
}
.my_memo textarea {
    width: 40%;
    min-height: 96px;
    background: #fff;
}


/* 案件ステータスの変更
----------------------------------------------------------- */

ul.project_status_list {
    margin-top: 15px;
    justify-content: space-between;
}
ul.project_status_list li {
    width: calc(100% / 2 - 10px);
    padding: 20px 15px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
}

ul.project_status_list li h3 {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: 600;
	color:#fff;
}
ul.project_status_list li p {
	color:#fff;
}


ul.project_status_list li .btn_menu {
    margin-top: 15px;
}
ul.project_status_list li:nth-child(1) {
    margin-right: 20px;
    background: #c92828;
}
/*
ul.project_status_list li:nth-child(2) {
    background: #514989;
}
*/
ul.project_status_list li:nth-child(2) {
    background: #726e6e;
}

/* ツールチップ
----------------------------------------------------------- */

.hotspot {
	position: relative;
	top: 0px;
    z-index: 99;
	padding-left: 8px;
	padding-bottom: 1px;
	border-bottom: 0;
	cursor: pointer;
	text-align: left;
}

#tt {
	position: absolute;
    z-index: 99;
	opacity: 1 !important;
}

#ttcont {
	display: block;
	padding: 20px;
    color: var(--sub-blue);
    background: #fff;
    box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 20%);
    border-radius: 20px;
}


/* モーダル表示周り
----------------------------------------------------*/

#modal-info-alert,#modal-info-firebase-1,#modal-info-firebase-9,
#modal-hidden-form {
    display: none;
    border: 3px solid #111;
    background: #f7f7f7;
    border-radius: 5px;
    overflow-y: scroll;
}

#modal-info-alert {
    width: 960px;
    top: 30px !important;
}
#modal-info-firebase-9,
#modal-hidden-form {
	width: 420px;
}
#modal-hidden-form .alert_area h2 {
    padding-right: 30px;
    text-align: left;
    font-weight: 600;
    font-size: 18px;
}
#modal-hidden-form #select_txt,
#modal-hidden-form #message_input_box {
    width: 100%;
    margin-top: 10px;
}
#modal-hidden-form #message_input_box {
    border: 1px solid #cacaca;
}
#modal-hidden-form .submit_area {
    text-align: center;
    margin-top: 20px;
}

#modal-info, #modal-info2, #modal-info3 {
    padding: 40px 20px;
    height: auto;
    max-height: 60vh;
    overflow-y: scroll;
}
#modal-info h4,
#modal-info2 h4,
#modal-info3 h4 {
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: 600;
}
.fancybox-close,
.modal_close {
    position: absolute;
    top: 12px !important;
    right: 24px !important;
    background: none !important;
    width: 40px !important;
    height: 40px !important;
    color: #fff !important;
    background-color: #333 !important;
    cursor: pointer !important;
    border-radius: 100% !important;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
.fancybox-close:after,.fancybox-close:before,
.modal_close:after, .modal_close:before {
    display: block;
    content: " ";
    position: absolute;
    top: 9px;
    left: 18px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    -webkit-transition: background .2s ease-in-out;
    transition: background .2s ease-in-out;
}
.fancybox-close:before,
.modal_close:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}
.fancybox-close:after,
.modal_close:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.edit_gd_btm_menu {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9;
}

.edit_gd_btm_menu a {
    display: block;
    padding: 8px 12px;
    background: var(--blue);
    border-radius: 30px;
    color: #fff;
    font-weight: 600;
}

.edit_gd_btm_menu a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.edit_gd_btm_menu a i {
    display: inline-block;
    margin-right: 5px;
    padding: 6px;
    background: #fff;
    border-radius: 50%;
    color: var(--blue);
}
.edit_guide_area .tl {
    margin: 20px 0 15px;
    font-size: 18px;
    font-weight: 600;
}
#set_entry_count {
    font-weight: 500;
    text-decoration: underline;
}


.alert_area {
    width: 80%;
    margin: 20px auto;
}
#main2 .alert_area {
    width: 100%;
}
.alert_area .title_area {
    margin-top: 40px;
}
.alert_area .title_area h2 {
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}
.alert_list {
    padding: 0 20px;
    background: #fff;
    border-radius: 5px;
}
.alert_list li {
    border-bottom: 2px dotted var(--red);
    font-weight: 600;
}
.alert_list li:last-child {
    border-bottom: 0px;
}
.alert_list li .tl span {
    display: inline-block;
    padding: 2px 8px;
    margin-right: 8px;
    background: #fff;
    border: 1px solid #e64747;
    font-weight: 600;
    border-radius: 5px;
    color: #e64747;
    font-size: 13px;
}
.alert_list li>a {
	display: block;
	font-size: 15px;
	color: #333;
	padding: 20px 0px;
}
.alert_list li>a:hover {
	text-decoration: none;
	color: #999;
}
.alert_list li .tl {
    font-size: 16px;
    font-weight: 600;
    color: var(--red);
}
.alert_list li .txt {
	display: none;
    padding: 20px 0px 0px;
	margin: 5px 0px 20px;
    background: #fffeed;
    border: 3px solid var(--red);
	border-radius: 5px;
}
.alert_list li .ans_txt_area {
    margin: 15px auto;
    padding: 0 15px;
    max-width: 600px;

}
.alert_list li .txt textarea {
    background-color: #fff;
}
.alert_list li .ans_txt_area .ct_m_t {
    text-align: right;
    font-weight: 600;
}
.alert_list li .txt_in {
    padding: 0 20px;
    /*
    max-height: 470px;
    overflow-y: scroll;
    */
}
.alert_list li .txt p {
    font-size: 14px;
}
.ans_all_area {
    margin-top: 15px;
    background: #efede7;
    padding: 5px 5px;
}
.alert_list li .select_radio {
    margin: 15px auto;
    text-align: center;
    font-size: 16px;
}
.alert_list li .select_radio label {
    padding: 0px 12px;
    font-size: 18px;
    font-weight: 600;
    color: #463b26;
}
.ans_all_area .btn_area {
    margin-top: 0px;
}
/* 添付ファイル
----------------------------------------------------*/
.attach_file_area {
	padding: 12px;
	margin: 15px 0px;
    border: 1px solid var(--blue);
	border-radius: 5px;
	background: #fff;
}
.attach_file_area p {
    padding-left: 0;
	font-weight: 600;
	font-size: 13px;
	color: var(--blue);
}
a.attach_file_link {
	display: block;
	position: relative;
	padding-left: 15px;
	text-decoration: underline;
}
a.attach_file_link:before {
	font-family: "Font Awesome 5 free";
	content: "\f0c6";
	position: absolute;
	left: 0px;
	top: 3px;
	color: var(--blue);
	font-weight: bold;
}
a.attach_file_link:hover {
	text-decoration: none;
}

/* userトップのリスト */
.user_top {
	margin:30px 0px;
}
.user_top li  {
	border-bottom: 1px solid #ececec;
	padding-bottom: 5px;
	margin-bottom: 8px;
}
.user_top li a {
	text-decoration:none;
	font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #457e9a;
}

.user_top li a .fa {
	margin-right: 5px;
}
.user_top p {
	margin-bottom: 20px;
}
.user_top p a {
	text-decoration:none;
	color:#333;
}
/* お断り理由の選択 */

ul.reason_select {
	overflow:hidden;
}
ul.reason_select li {
	float: left;
	margin-right: 12px;
	margin-bottom:12px;
	background: #F2F2F2;
	border-radius: 3px;
	padding: 6px 14px;
}


/* 追加情報表示 */

ul.add_board {
	margin: 20px 0px 30px;
	padding: 12px;
	border: 2px dotted var(--navy);
	background: #f7f7f7;
	border-radius: 5px;
}

ul.add_board li {
	font-size: 14px;
	padding: 12px 0 12px 12px;
	border-bottom: 1px dotted #919ea9;
	position: relative;
	overflow: hidden;
}
ul.add_board li:last-child {
	border-bottom: 0px;
}

.add_day {
	color: #555;
    font-size: 13px;
}
.add_append {
	position: absolute;
    top: 12px;
    right: 0;
	font-size: 12px;
	color: #333;
}
.add_append a:before {
    font-family: "Font Awesome 5 free";
    content: "\f2ed";
    padding-right: 2px;
    font-weight: 600;
}
.add_append_type {
    position: absolute;
    top: 10px;
    right: 80px;
    display: inline-block;
    padding: 3px 9px;
    font-size: 13px;
    font-weight: 500;
    background: #fff;
    color: #fff;
    border-radius: 20px;
}

.add_append_type.type_0 {
    background: var(--blue);
}

.add_append_type.type_1 {
    background: #5f8f61;
}
.add_comment {
    margin-top: 10px;
    font-size: 15px;
    font-weight: 500;
	color: #333;
}
.contract_status {
    margin-bottom: 20px;
    padding: 12px 12px;
    background: #f7f7f7;
    border: 1px solid #ddd;
}
.contract_status li {
		float:left;
}
.contract_status li.status_txt {
    padding-top: 5px;
    margin-right: 10px;
    margin-left: 8px;
    font-size: 15px;
    font-weight: bold;
}
.contract_status li a {
    color: #333;
    font-size: 15px;
    display: inline-block;
    margin-right: 12px;
    padding: 5px 22px;
    border-radius: 3px;
    color:#fff;
}
.contract_status li a:hover {
		text-decoration: none;
}
.contract_status li.list_1 a {
    border-bottom: 1px solid #5d0707;
    border-top: 1px solid #c13636;
    background: #942020;
    background-image: linear-gradient(to top, #8e0f0f 0%, #c73131 100%);
    text-shadow: 0 -1px 1px rgba(78, 2, 2, 0.63);
    box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.36) inset, 0 2px 3px 0 rgba(64, 0, 0, 0.23);
}
.contract_status li.list_1 a:hover {
    background-image: linear-gradient(to top, #c73131 0%, #8e0f0f 100%);
	
}
.contract_status li.list_2 a {
    border-bottom: 1px solid #272727;
    border-top: 1px solid #545454;
    background: #484848;
    background-image: linear-gradient(to top, #232323 0%, #616161 100%);
    text-shadow: 0 -1px 1px rgba(33, 33, 33, 0.63);
    box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.36) inset, 0 2px 3px 0 rgba(8, 8, 8, 0.23);
}
.contract_status li.list_2 a:hover {
    background-image: linear-gradient(to top, #616161 0%, #232323 100%);
}
.contract_status li.list_3 a {
    border-bottom: 1px solid #441d50;
    border-top: 1px solid #6e4ea2;
    background: #4c2384;
    background-image: linear-gradient(to top, #351765 0%, #775fb1 100%);
    text-shadow: 0 -1px 1px rgba(78, 2, 2, 0.63);
    box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.36) inset, 0 2px 3px 0 rgba(64, 0, 0, 0.23);
}
.contract_status li.list_3 a:hover {
    background-image: linear-gradient(to top, #775fb1 0%, #351765 100%);
}
.contract_status li.list_4 a {
    border-bottom: 1px solid #114a1a;
    border-top: 1px solid #40924a;
    background: #237d32;
    background-image: linear-gradient(to top, #1b693e 0%, #50a059 100%);
    text-shadow: 0 -1px 1px rgba(0, 33, 10, 0.63);
    box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.36) inset, 0 2px 3px 0 rgba(64, 0, 0, 0.23);
}
.contract_status li.list_4 a:hover {
    background-image: linear-gradient(to top, #50a059 0%, #1b693e 100%);
}
p.lump_statsu {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
}


/* 入力・編集フィールド
----------------------------------------------------------- */

.field_box {
	margin: 1px 0px;
    background-color: #fff;
    box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 15%);
}
#main2 .field_box {
    box-shadow: none;
}
.field_box .head {
    height: 56px;
    padding: 0 12px 0 24px;
    background: var(--navy);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.field_box .head .num {
	float: left;
    margin-right: 10px;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background: #fff;
    color: var(--navy);
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
}
.field_box .head .tl {
    flex: 1;
    font-size: 16px;
    color: #fff;
    font-weight: 600;
    line-height: 1.4;
}
.field_box .in2 {
    padding: 2%;
}

.field_box li {
    display: table;
    width: 100%;
	position: relative;
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 1px solid #ddd;
}
.field_box li:last-child {
    border-bottom: 1px solid #ddd;
}
.field_box .radio_req_list li {
    display: inline-block;
    width: auto;
    margin-right: 20px;
    padding: 0;
    border: none;
}
.field_box .radio_req_list li:last-child {
	margin-right: 0px;
}

.field_box .radio_req_list li .dis_add {
    color: #939393;
}
.field_box li .th,
.field_box li .th2,
.field_box li .td {
    display: table-cell;
    vertical-align: middle;
}
.field_box li .th {
    width: 180px;
    padding-right: 20px;
    font-weight: 600;
    text-align: center;
    border-right: 1px dotted #b1b1b1;
}
.field_box li .th2 {
    width: 70px;
    text-align: center;
    border-right: 1px dotted #b1b1b1;
}
.required, .free {
	margin-left: 0px;
    font-weight: 600;
    font-size: 12px;
}
.field_box li .td {
    padding-left: 3%;
    font-size: 14px;
    font-weight: 500;
}
.field_box li .td p {
    margin-bottom: 10px;
    font-size: 13px;
    color: #555;
    line-height: 1.6;
}
.field_box li .td select {
    margin: 0 5px 0 10px;
}
.field_box li .td select:first-child,
.field_box li .td .year_sl,
#enter_limit {
    margin-left: 0px;
}

span.st_span_pick {
    display: block;
    max-width: 100px;
    margin: 0 auto 8px;
    padding: 2px 5px;
    font-size: 13px;
    border: 1px solid #db3e3e;
    color: #db3e3e;
}
label.lb_fl {
    display: inline-block;
    vertical-align: top;
    width: 24%;
    margin: 6px 0px;
}
.field_box li input.add_email {
    width: 49%;
}
.field_box li .td select#goods_class {
    width: 100%;
}
.field_box li .td select.part_pref {
    width: 90px;
}

.field_box li .td .part_city {
    width: 150px;
    margin-right: 10px;
}

.field_box li .td input.part_address {
    width: calc(100% - 269px);
}
.field_box li .td .part_address2 {
	margin-top: 10px;
}

.field_box li input[type=text].summary_input {
    width: calc(100% - 105px);
    margin-right: 10px;
}
.field_box li .txt_count {
	margin-top: 3px;
    text-align: right;
    font-size: 11px;
    letter-spacing: 0.5px;
}
.field_box li .num {
    position: relative;
    top: 1px;
    padding-left: 3px;
    font-size: 18px;
    letter-spacing: 1px;
}

.field_box li .name {
    width: 49%;
}

ul.mail_list_set li {
    padding: 10px;
    display: inline-block;
    border: none !important;
    width: auto;
    font-weight: 500;
}

.org_switch {
	margin-bottom: 10px;
}
.org_switch label {
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
}


.org_switch {
    margin-bottom: 10px;
}

.org_switch label {
    display: block;
    margin-bottom: 6px;
    cursor: pointer;
}

.org_switch_contents {
    margin-top: 20px;
}

.org_switch_contents .switch-content {
    display: none;
    padding: 20px;
    background: #f7f7f7;
}
.org_switch_contents .switch-content:empty {
    padding: 0;
    background: none;
}
.org_switch_contents .switch-content.active {
    display: block;
}
.org_switch_contents .switch-content .tl {
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 600;
}
.org_switch_contents .switch-content ul {
    padding: 15px 15px 15px;
    background: #fff;
}
.field_box .org_switch_contents li {
    margin: 0;
    display: block;
    margin: 10px 0px 0px;
    padding: 10px 0px 0px;
    border: 0;
    border-top: 1px solid #ddd;
}
.field_box .org_switch_contents li:first-child {
    border-top: none;
    margin: 0;
    padding: 0;
}

.org_switch_contents .switch-content.hide li:nth-child(n+5) {
    display: none;
}
.field_box .org_switch_contents li a {
    font-size: 14px;
    letter-spacing: .5px;
    font-weight: 500;
}



.field_box li .budget_area {
    display: flex;
    align-items: center;
}

.budget_area .budget_area_label label {
    margin-right: 5px;
    width: auto;
    font-weight: 600;
}

.cl_reason_li li {
    display: block;
    margin-bottom: 10px;
    padding: 0;
    border-top: 0;
    font-size: 14px;
    font-weight: 500;
}
.cl_reason_li li:last-child {
    border-bottom: 0;
    margin-bottom: 0;
}

ul.contract_entry_partner {
    max-height: 400px;
    overflow-y: scroll;
}
.contract_entry_partner li {
    margin-bottom: 5px;
    padding-top: 0;
    padding-bottom: 5px;
    border-top: 0px;
    border-bottom: 1px dotted #ddd;
    line-height: 1;
}
.contract_entry_partner li label {
    display: flex;
    align-items: center;
    padding-left: 15px;
    position: relative;
    vertical-align: top;
}

.contract_entry_partner li input {
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    margin:auto;
}

.contract_entry_partner li span {
    display: inline-block;
    padding-left: 10px;
    vertical-align: middle;
    font-weight: 600;
}
.contract_entry_partner li span.partner_contract_flg {
    color: #ff0000;
}

.contract_entry_partner li:last-child {
	margin-bottom: 0px;
    border-bottom: 0px;
}

ul.s_relat_link {
    margin-top: 15px;
}

ul.s_relat_link li {
    display: inline-block;
    margin: 0px 10px 12px 0px;
}

ul.s_relat_link li a {
    display: block;
    padding: 3px 15px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background: var(--navy);
    border: 1px solid var(--navy);
    border-radius: 5px;
}
ul.s_relat_link li a:hover {
    color: var(--navy);
    background: #fff;
    text-decoration: none;
}

.field_box .cl_reason_li input[type="text"] {
    width: auto;
    margin-right: 5px;
}

/* 変更系の通知
----------------------------------------------------------- */

#post_ok {
	display:none;
	width: 100%;
	background-color:#333;
	padding: 20px 10px;
	font-size: 18px;
	color: #fff;
	font-weight: 600;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 98;
}


/* ボタンリンク
--------------------------------------------------*/
.guide_help_list {

}
.guide_help_list li {
    width: calc(100% / 3 - 20px);
	margin: 10px;
}
.guide_help_list li a {
    display: block;
    padding: 20px 15px;
    position: relative;
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 0 5px rgba(51, 51, 51, 0.1);
    color: #333;
    font-size: 15px;
    text-align: center;
    font-weight: 600;
}
.guide_help_list li a:hover {
    background: var(--navy);
    color: #fff !important;
    text-decoration: none;
}
.guide_help_list li a:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0px 8px 8px 8px;
    border-color: transparent transparent transparent var(--navy);
    position: absolute;
    bottom: 0px;
    right: 0px;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

/* 未読件数
--------------------------------------------------*/
.noread_ctn {
    position: relative;
    top: -1px;
    display: inline-block;
    margin-left: 5px;
    min-width: 23px;
    height: 23px;
    padding: 0px 0 0;
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 22px;
    text-align: center;
    background: #fe2424;
    font-family: 'Oswald', sans-serif;
}

/* アラート固定表示
--------------------------------------------------*/

.alert_navi_area {
    background-color: #333;
}
.alert_navi_list {
	
}
.alert_navi_list li {
    padding: 12px 0px 5px;
    margin: 3px 0px;
    border-top: 1px solid #555;
}
.alert_navi_list li:first-child {
    padding-top: 12px;
}
.alert_navi_list li:last-child {
	margin-bottom: 0px;
	padding-bottom: 15px;
	border-bottom: 0px;
}
.alert_navi_list li {
	display: none;
}
.alert_navi_list li,
.alert_navi_list li	a {
	color: #fff;
}
.alert_navi_list li	a {
	text-decoration: underline;
}
.alert_navi_list li	a:hover {
	text-decoration: none;
}

.close-push-info {
    display: inline-block;
    width: 15px;
    height: 15px;
    position: relative;
    cursor: pointer;
}
.close-push-info span::before,
.close-push-info span::after {
	display: block;
	content: "";
	position: absolute;
    top: 60%;
    left: 0%;
    width: 100%;
    height: 20%;
    margin: 0%;
    background: #fff;
    transition: 0.3s;
}
.close-push-info span::before {
	transform: rotate(-45deg);
}
.close-push-info span::after {
	transform: rotate(45deg);
}
.alert_navi_txt {
	display: inline-block;
    margin-left: 10px;
}

/* アラートポップアップ
--------------------------------------------------*/

.top_info_alert {
	position: fixed;
	width: 100%;
	height: auto;
	bottom: 0px;
	left: 0px;
	background-color: #ea5252;
	z-index: 999;
}

.top_info_alert ul {
	width: 1200px;
	margin: 0 auto;
}

.top_info_alert li a {
    display: block;
    padding: 8px 20px;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    text-decoration: underline;
    text-align: center;
}
.top_info_alert li {
    float: left;
}
.top_info_alert li:last-child {
	border-bottom: 0px;
}
.top_info_alert li a:hover {
	background-color: #c74747;
	text-decoration: none;
}
.top_info_alert li a:before {
	font-family: 'Font Awesome 5 Free';
	content: "\f071";
	padding-right: 5px;
	font-weight: bold;
}



/* アポイント管理
--------------------------------------------------*/

.sep_form_area {
    margin-top: 0px;
}
.sep_form_area ul.sep_l_list {
	margin-bottom: 30px;
}
.sep_form_area ul.sep_l_list li {
    width: calc(100% / 3);
    padding: 15px;
}
.sep_form_area ul.sep_l_list li .img {
	text-align: center;
}
.sep_form_area ul.sep_l_list li .img img {
    width: 120px;
    height: auto;
}
.sep_form_area ul.sep_l_list li .txt {
	margin-top: 10px;
}
.sep_form_area ul.sep_l_list li .txt .tl {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 600;
    color: var(--navy);
	text-align: center;
}
.sep_form_area ul.sep_l_list li .txt p {
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 1.6;
}


.time_week_area {
	
}
.sep_form_area .time_week_area li {
    display: block;
    width: calc(100% / 4 - 10px);
    margin: 10px 5px 0px;
    border: 0;
    padding: 10px;
	background: #fff;
    color: #999;
    font-weight: 600;
    font-size: 12px;
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
}
.sep_form_area .field_box .time_week_area li {
    background-color: #f1f1f1;
}
.sep_form_area .time_week_area li:hover {
    background: var(--blue);
    color:#fff;
}

.sep_form_area .time_week_area li.active {
    background: var(--blue);
    color:#fff;
}

.sep_form_rt li {
    margin-top: 20px;
}
.fm_entry.nego_method_in {
    margin-top: -5px;
}
.sep_form_rt li .nego_method_in label {
    width: calc(100% / 2);
    padding: 10px 5px 0px;
    font-size: 13px;
    font-weight: 600;
}
.sep_form_rt li .fm_tl {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
}
.support_area .tl {
    margin-bottom: 3px;
    font-size: 16px;
    font-weight: bold;
}

.time_cl {
    margin: 10px auto 0px;
}
.time_cl dl {
    margin: 6px 0px;
    /*
    width: calc(100% / 7 - 0px);
    width: 44px;
    */
    border-right: 1px solid #ddd;
}
.time_cl dt {
    margin-bottom: 0px;
    padding: 6px;
    height: 50px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #775E5E;
}
.time_cl dt.sat {
    background: #e6f5ff;
    color: #236585;
}
.time_cl dt.sun {
    background: #ffe2e2;
    color: #a52020;
}
.time_cl dd {
    padding: 0px 0px;
    height: 35px;
    border-top: 1px solid #ddd;
}
.time_cl dd .hotspot {
	margin: 0px;
	padding: 0px;
}
.time_cl input[type=checkbox] {
    display: none;
}
.time_cl label {
    display: inline-block;
    width: 100%;
    padding: 4px 3px;
    color: #999;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
    border-radius: 5px;
}
/*
.time_cl label.noclick {
    background: #e14747;
    border-color: #e14747;
    color: #fff;
}
*/
.time_cl input[type=checkbox] + label:before {
    content: "-";
    font-weight: 600;
}
.time_cl input[type=checkbox]:checked + label:before {
    content: "〇";
    font-weight: 600;
    color: var(--blue);
}

.time_cl input[type=checkbox] + label.noclick:before {
    content: "決定";
    color: #e14747;
    font-size: 13px;
}
.time_cl .more_area {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.time_cl .more_btn {
    display: inline-block;
    min-width: 200px;
    margin: 20px auto 10px;
    padding: 12px 16px;
    text-align: center;
    border: 2px solid var(--navy);
    border-radius: 5px;
}
.time_cl .more_btn span {
    margin-top: 0;
    font-weight: 600;
}


.time_cl .week_all_area {
    width: calc(100% - 80px);
}
/*
.time_cl .week_area {
    display: none;
}

.time_cl .week_area.active {
	display: block !important;
}
*/
.week_all_area_in {
    display: flex;
    width: 100%;
    overflow-x: scroll;
}
.week_all_area_in.dragging {
    cursor: grabbing;
    user-select: none;
}
.week_area {
    flex-shrink: 0;
}
.daytime_left_area {
    width: 80px;
}

.daytime_left_area dl {
    width: 100%;
    text-align: center;
}

.daytime_left_area dl dt {
    padding: 6px 0px 0px 0px;
    text-align: center;
}

.daytime_left_area dd {
    height: 35px;
    padding-top: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #545454;
}


.scroll_nav {
    margin: 10px 0;
    width: 100%;
    text-align: right;
}
.scroll_nav a {
    display: inline-block;
    padding: 6px 12px;
    font-size: 14px;
    background: #195077;
    color: white;
    border: none;
    border-radius: 5px;
    margin: 0 5px;
    cursor: pointer;
}
.scroll_nav a:hover {
    background: #123f63;
    text-decoration: none;
}




.apo_select_cnt {
    font-size: 13px;
}
.field_box li .td .apo_select_cnt .now_cnt p,
.apo_select_cnt .now_cnt p {
    margin-right: 12px;
    margin-bottom: 0;
    color: var(--red);
}
.apo_select_cnt .num2 {
    position: relative;
    top: 2px;
    display: inline-block;
    margin: 0 3px;
    font-size: 20px;
}

.modal_appo {
    max-width: 590px;
    margin: 0 auto;
}
.modal_appo .sep_form_area .s_l_tl h3 {
    margin-bottom: 20px;
    padding-right: 30px;
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}
.modal_appo .sep_form_rt>ul {
    margin-bottom: 20px;
}
.modal_appo .sep_form_rt>ul>li {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}
.modal_appo .sep_form_rt li .fm_tl {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 600;
}
.modal_appo .appo_guide_t_list {
    margin-top: 20px;
    padding: 10px;
    background: #fff;
}
.modal_appo .appo_guide_t_list li {
    width: calc(100% / 3);
    padding: 5px;
}

.modal_appo .appo_guide_t_list li .img {
    max-width: 110px;
    margin: 0 auto;
}
.modal_appo .appo_guide_t_list li .txt {
    margin-top: 8px;
}
.modal_appo .appo_guide_t_list li .txt p {
    font-size: 13px;
    letter-spacing: 0;
    color: var(--navy);
}

.modal_appo .appo_guide_t_list li .tl {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 13px;
    text-align: center;
}
.modal_appo .sep_form_rt .spt {
    display: none;
}

/* 一括完了後の案内
----------------------------------------------------------- */

body.lump_start_modal {
    background-color: inherit;
}

.promise_list>li {
    position: relative;
	display: none;
    margin: 0px auto;
    padding: 20px;
}

.promise_list>li.active {
	display: block;
	animation-name:fadeRightAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
.promise_list>li .num {
    position: relative;
    top: -7px;
    text-align: center;
}
.promise_list>li .num span {
    display: inline-block;
    margin: 0 auto;
    padding: 8px 0px 0px;
    width: 40px;
    height: 40px;
    background: var(--navy);
    color: #fff;
    border-radius: 50%;
}
.promise_list>li .tl_area {
    margin-bottom: 15px;
    align-items: center;
    margin-top: -30px;
    padding-top: 10px;
    border-top: 2px solid var(--navy);
}
.promise_list>li .right {
    width: calc(100% - 140px);
}
.promise_list>li h3 {
    margin-bottom: 5px;
    font-size: 18px;
    color: var(--navy);
    font-weight: 900;
}
.promise_list>li .tl_area .img {
    width: 140px;
    padding-right: 20px;
}
.promise_list>li .tl_area .img img {
    max-width: 160px;
    width: 100%;
    height: auto;
}
.promise_list>li p {
    font-size: 15px;
}
.promise_list>li p.txt {
    margin: 10px 0px;
    font-size: 13px;
}
.promise_list li .btn_area {
  margin-top: 20px;
  margin-bottom: 0px;
}
.promise_list li .btn_area .return {
    min-width: 65px;
    padding: 10px 0px;
    margin-right: 15px;
    font-size: 13px;
    color: #555 !important;
    background: #ddd;
    border: 2px solid #ddd;
}
.promise_list li .memo {
    margin: 15px 0;
    font-size: 13px;
    letter-spacing: 0;
}
@keyframes fadeRightAnime{
  from {
    opacity: 0;
  	transform: translateX(170px);
  }

  to {
    opacity: 1;
  	transform: translateX(0);
  }
}


@media screen and (max-width: 460px) {
    /* スマートフォンのみを指定（通常のmax-widthはmodalの表示上、スマホが適用されるので） */

    .promise_list>li {
        padding: 20px 10px 20px 5px;
    }
    .promise_list>li .tl_area {
        padding-top: 30px;
    }
    .promise_list>li .tl_area .img {
        width: 92px;
        padding-right: 20px;
    }
    .promise_list>li .right {
        width: calc(100% - 92px);
    }
    .promise_list>li h3 {
        font-size: 16px;
    }
    .promise_list>li p {
        font-size: 14px;
    }
    .modal_appo .appo_guide_t_list li {
        width: 100%;
        display: flex;
        align-items: center;
        margin: 0 0 10px;
    }
    .modal_appo .appo_guide_t_list li:last-child {
        margin-bottom: 0px;
    }
    .modal_appo .appo_guide_t_list li .img {
        width: 80px;
        padding-right: 15px;
    }
    .modal_appo .appo_guide_t_list li .txt {
        width: calc(100% - 80px);
    }
    .modal_appo .sep_form_rt .spt {
        display: block;
    }
    .promise_list li .btn_area.second {
        display: flex;
        align-items: center;
    }
    .promise_list li .btn_area.second .button_y,
    .promise_list li .btn_area.second .button_n {
        width: calc(100% - 80px);
        min-width: calc(100% - 75px);
    }
    .promise_list li ul.check_list li {
        font-size: 13px;
    }

}


/* ご利用の流れ
----------------------------------------------------------- */

.work_flow_list {
	max-width: 960px;
	margin: 60px auto 0;
}
.work_flow_list li {
	position: relative;
	margin-bottom: 60px;
	padding: 0px 0px 0px 20px;
}
.work_flow_list li:last-child {
	margin-bottom: 0px;
}
.work_flow_list li:not(:last-child):before {
	position: absolute;
	z-index: 1;
	content: "";
	top: 8%;
	left: 2.7%;
	height: 220%;
	width: 3px;
	background: #ddd;
}
.work_flow_list li .time {
	position: relative;
	z-index: 2;
	width: 13px;
	height: 13px;
	line-height: 13px;
	background: var(--navy);
	border-radius: 50%;
	text-align: center;
}
.work_flow_list li .time span {
	display: none;
	font-size: 18px;
	color: #fff;
}
.work_flow_list li .img {
	width: 180px;
	padding-left: 30px;
}
.work_flow_list li .img .wrap {
	display: none;
}


.work_flow_list li .img img {
	width: 100%;
	height: auto;
}

.work_flow_list li .right {
	width: calc(100% - 200px);
	padding-left: 30px;
}
.work_flow_list li .txt {

}
.work_flow_list li .wrap {
	
}
.work_flow_list li .wrap h3 {
	font-size: 18px;
	font-weight: 600;
}
.work_flow_list li .wrap h3 span {
	display: inline-block;
	font-size: 14px;
	margin-right: 10px;
	padding: 4px 12px;
	border: 1px solid #333;
	border-radius: 30px;
}
.work_flow_list li p {
	margin-top: 10px;
}
.work_flow_list li .btn_area {
	margin: 5px 0px 0px;
	text-align: left;
}
.work_flow_list li .btn_area .button_n {
	margin-top: 15px;
	padding: 12px 10px;
	min-width: 184px;
	font-size: 13px;
}
@media screen and (max-width: 760px) {

	.work_flow_list li {
	display: block;
	margin-bottom: 40px;
	padding: 0;
	}
	.work_flow_list li:not(:last-child):before {
	top: 0%;
	left: 1.7%;
	height: 205%;
	}
	.work_flow_list li .img {
	display: flex;
	align-items: center;
	width: 100%;
	margin: -10px auto 20px;;
	padding-left: 30px;
	}
	.work_flow_list li .img img {
		width: 100px;
	}
	.work_flow_list li .img .wrap {
		display: block;
		width: calc(100% - 100px);
		padding-left: 20px;
	}
	.work_flow_list li .wrap h3 span {
		display: block;
		margin-right: 0px;
		margin-bottom: 10px;
        text-align: center;
	}
	.work_flow_list li .right {
	width: 100%;
	padding-left: 30px;
	}
	.work_flow_list li .right .wrap h3 {
	display: none;
	}
	.work_flow_list li .btn_area {
		display: flex;
		overflow-x: scroll;
		padding-bottom: 15px;
	}

}
/* qa
----------------------------------------------------------- */

.faq_list {

}
.faq_item {
    margin-top: 5px;
}
.faq_question {
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    padding: 15px 40px 15px 5px;
    border-bottom: 1px dotted #adadad;
    font-size: 16px;
    font-weight: 600;
}
.faq_list li:last-child .faq_question {
    border-bottom: 0px;
}
.faq_question .btn {
  position: absolute;
  top: 43px;
  right: 0px;
  width: 50px;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
}
.faq_question .btn:before,
.faq_question .btn:after {
  content: "";
  display: block;
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 24px;
  height: 2px;
  background-color: var(--navy);
}
.faq_question .btn:after {
  -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.faq_question .btn.open:after {
  -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
}
.faq_answer {
    display: none;
    padding: 20px;
    font-size: 16px;
    line-height: 1.8;
    background: #f7f7f7;
}

/* 参加企業が0件の場合の表示
------------------------------------------------------------------------- */

ul.sanka_flow_list {
    margin-bottom: 30px;
    padding: 10px;
    background: #e7e7e7;
}
.sanka_flow_list li {
    width: calc(100% / 3 - 20px);
    margin: 10px;
    padding: 20px;
    background: #fff;
}
.sanka_flow_list li img {
    width: 100%;
    max-width: 185px;
    margin: 0 auto;
    display: block;
}
.sanka_flow_list li p {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
    color: var(--navy);
}


@media screen and (max-width: 760px) {
    .sanka_flow_list {
        overflow-x: scroll;
        flex-wrap: inherit;
        padding-bottom: 15px;
    }
    .sanka_flow_list li {
        width: 45%;
        padding: 5px;
        flex-shrink: 0;
    }
    .sanka_flow_list li img {
        max-width: 120px;
    }
    .sanka_flow_list li p {
        padding: 0px 5px;
        font-size: 13px;
    }
    .wide_gd_area {
        position: relative;
        z-index: 1;
    }
    .wide_gd_area:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 7px;
        display: block;
        background-color: #dddddd;
    }
}

/* 参加企業一覧の出展者名クリック時のページ
------------------------------------------------------------------------- */
.fancy_area {
	padding: 30px;
}
.fancy_area section {
	padding-top: 0px;
}
/* 出展者情報 */
.head_area {
    width: 100%;
    position: relative;
    margin-bottom: 30px;
    text-align: left;
}
.head_area .wrap {
	margin-bottom: 10px;
}


.head_area h2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}

.head_area .re_tl.invest {
    display: flex;
    align-items: center;
	margin-bottom: 15px;
}
.head_area .re_tl.invest h2 {
    width: calc(100% - 64px);
    margin-bottom: 0px;
    padding-left: 10px;
}
/*
.head_area .re_tl.invest .tooltip_text {
    left: 92%;
}
*/

.help ul.check_list {
    margin: 0 auto;
}
ul.check_list {
    margin-top: 20px;
    padding: 15px 10px;
    background: #fafcff;
    border: 3px solid #adb4bb;
    border-radius: 3px;
}
ul.check_list li {
    position: relative;
    list-style: none;
    padding-bottom: 10px;
    padding-left: 30px;
    margin: 0 0 10px !important;
    border-bottom: 2px dotted #ddd;
    font-size: 15px;
    font-weight: 600;
}
ul.check_list li:before {
    font-family: FontAwesome;
	content: "\f00c";
	position: absolute;
	left : 0.5em;
    top: 4px;
    color: var(--navy);
    font-weight: 600;
    font-size: 15px;
}
#help_slide ul.check_list li:before {
	font-family: 'Font Awesome 5 Free';

}
ul.check_list li:last-child {
    margin-bottom: 0px !important;
    border-bottom: 0px;
    padding-bottom: 0px;
}

.appeal_pt {
	display: inline-block;
	position: relative;
	background: #ff4c4c;
	border-radius: 5px;
	color: #fff;
	padding: 2px 5px;
	margin-left: 12px;
	font-size: 11px;
	top: -2px;
}

.head_area dl {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin-bottom: 5px;
}
.head_area dl:last-child {
	margin-bottom: 0px;
}
.head_area dt {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 72px;
    background-color: #ececec;
    font-size: 12px;
    color: #666666;
    padding: 4px 6px;
}
.head_area dd {
    display: table-cell;
    vertical-align: middle;
    padding-left: 10px;
    font-size: 13px;
    font-weight: 500;
    width: 100%;
}

.head_area .sub {
	position: absolute;
	top: 8px;
	right: 8px;
	color: #999;
	font-size: 11px;
}

/* 本文エリア */

.fancy_contents {
    margin-bottom: 30px;
    background: #fff;
}
.fancy_contents h2 {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #333;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}
.fancy_contents p {
	font-size: 14px;
	line-height: 26px;
}
/* 本文のリスト */
.fancy_contents ul {
    margin-top: 30px;
    margin-bottom: 30px;
}
.fancy_contents li {
	position: relative;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #9b9b9b;
}
.fancy_contents li:last-child {
	margin-bottom: 0px;
	padding-bottom: 0px;
	border-bottom: 0px;
}
.fancy_contents li a {
	color: #333;
}
.fancy_contents li h3 {
	font-weight: bold;
}
.fancy_contents .cate {
	margin: 5px 0px;
	color: #999;
	font-size: 13px;
}
.fancy_contents ul.kutikomi_list {
    margin-top: 0px;
}
.kutikomi_list li {

}
.review_rate span {
    display: table-cell;
    vertical-align: middle;
}
.review_rate span.tl {
    padding-right: 5px;
    font-weight: 600;
}
.review_rate span.en {
    padding-left: 8px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
    color: var(--orange);
}

.review_detail {
    align-items: center;
}
.review_detail .left {
    width: 300px;
    max-height: 260px;
    overflow: hidden;
}
.review_detail .right {
    width: calc(100% - 300px);
    padding-left: 30px;
}

.acv_list .sub {
    margin: 12px 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.acv_list .sub dt,
.acv_list .sub dd {
    display: inline-block;
    margin: 0 6px;
    font-size: 12px;
}
.acv_list .sub dt {
    padding: 2px 8px;
    background: var(--accent);
    color: #fff;
}


/* 契約案件のリスト */
.contract_list .img_pict {
    display: table-cell;
    width: 80px;
    vertical-align: middle;
    padding-right: 20px;
}
.contract_list .sj_ind_pict {
    border-radius: 50%;
}
.contract_list .img_pict .lump_pref {
    margin-top: 10px;
    padding: 2px 6px;
    background: #f1f1f1;
    border: 1px solid #ddd;
    border-radius: 20px;
    text-align: center;
    font-size: 11px;
    color: #383838;
}
.contract_list .txt_area {
    display: table-cell;
    vertical-align: middle;
}

.contract_list .contract_area .txt {
	display: inline-block;
	font-weight: 600;
	margin-right: 15px;
}
.contract_list .contract_area .reason {
	display: inline-block;
	margin-right: 10px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: bold;
	border: 1px solid #e06161;
	color: #d42f2f;
	background-color: #fcebf0;
	border-radius: 20px;
}
.contract_list li p {
	padding: 0px;
	margin: 8px 0px 0px;
	line-height: 20px;
	font-size: 13px;
}

/* 実績のリスト */

.achieve_list .fl_l {
	max-height: 120px;
	overflow: hidden;
}

.achieve_list li .cate .sbk_tag {
	display: inline-block;
	margin: 0px 5px;
	font-size: 12px;
	color: #999;
}
.achieve_list li .cate .sbk_tag:before {
    font-family: FontAwesome;
    content: "\f02c";
    font-weight: bold;
}

.achieve_list li p {
	margin-bottom: 0px;
	padding-left: 5px;
	line-height: 22px;
	font-size: 13px;
}
.achieve_list li p.sub {
    font-style: italic;
}
.achieve_list li a {
	text-decoration: underline;
}
.achieve_list li a:hover {
	text-decoration: none;
}


.msg_table .fl_l {
    position: relative;
}

.recommend_icon {
    display: block;
    margin-top: 5px;
    position: inherit;
    bottom: inherit;
    font-size: 10px;
}
.certification_icon {
    display: block;
    margin-top: 5px;
    position: inherit;
    bottom: inherit;
    font-size: 10px;
}


/* レビュー・クチコミ投稿
------------------------------------------------*/

.review_body.no_login #header,
.review_body.no_login #nav-drawer,
.review_body.no_login #footer {
    display: none;
}
.review_body.no_login #main2 {
    margin: 50px auto;
    width: 100%;
    max-width: 800px;
}



/*
.review_body #wrapper {
	background-color: #f5f5f5;
}
.review_ct p {
    font-size: 16px;
    line-height: 26px;
}
.review_ct {
	width: 80%;
	margin: 0 auto;
}
*/
.review_ct .add_new_part_area {
    margin-bottom: 30px;
    padding: 20px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
}
h3.est_ct_tl {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 25px;
    background: var(--navy);
    color: #fff;
    padding: 12px 20px;
}
.review_ct .memo_txt {
	text-align: center;
}

.review_ct .head_area {
    padding: 20px 20px 0px;
}
.rating_star {
	display: block;
	margin: 20px auto 50px;
	box-sizing: border-box;
	text-align: center;
}
.rating_star li {
	width: 50%;
	float: left;
	margin-bottom: 20px;
}
.rating_star li:last-child {
	margin-bottom: 0px;
}
.star_type_item {
	display: inline-block;
	min-width: 170px;
	padding: 7px 0px;
	font-size: 13px;
	font-weight: bold;
    color: #fff;
    background: #d19b32;
	border-radius: 3px;
}

/* ★の採点部分 */

.br-wrapper.br-theme-fontawesome-stars {
	display: inline-block;
	margin-left: 8px;
}
.br-theme-fontawesome-stars .br-widget {
	position: relative;
	white-space:nowrap;
	display: inline-block;
}
.br-theme-fontawesome-stars .br-widget a {
	font:normal normal normal 18px/1 FontAwesome;
	text-rendering:auto;
	-webkit-font-smoothing:antialiased;
	text-decoration:none;margin-right:2px;
}
.br-theme-fontawesome-stars .br-widget a:after {
	position: relative;
	top: 3px;
	content:'\f005';
	color:#ddd;
}
.br-theme-fontawesome-stars .br-widget a.br-active:after {
	color:#d19b32
}
.br-theme-fontawesome-stars .br-widget a.br-selected:after {
	color:#d19b32
}
.br-theme-fontawesome-stars .br-widget .br-current-rating {
	position: absolute;
	top: 30px;
	right: 0px;
	font-size: 12px;
	font-weight: bold;
	color: #d19b32;
}
.br-theme-fontawesome-stars .br-widget a {
	font-size: 30px;
}

/* 評価コメント */

.review_body .est_comment_area {
	display: block;
	margin: 20px auto 30px;
}
.review_body .est_comment_area textarea {
	width: 100%;
	padding: 12px;
	font-size: 14px;
	line-height: 26px;
	border: 2px solid #999;
	background: #fff;
}
.review_body .est_comment_area textarea.task {
	height: 80px;
}
.review_body .count_est_ct_area {
	text-align: right;
	font-weight: bold;
	font-size: 13px;
}
.review_body .count_est_ct_area .count_est_comment {
	color: #ff0000;
	padding-left: 5px;
}


/* 参加企業の追加申請
--------------------------------------------------*/

#add_new_part {
    margin-top: 40px;
}
.add_new_part_area .head {
    text-align: center;
}
.add_new_part_area .head h3 {
    margin-top: 20px;
    margin-bottom: 5px;
}

.add_new_part_area .area {
	margin-top: 20px;
}
.add_new_part_area .area > ul > li {
	position: relative;
    width: 48%;
    margin: 1%;
    border: 2px solid #ddd;
}
.add_new_part_area .area > ul > li .midoku_sl {
    position: absolute;
    right: 10px;
    top: 8px;
    color: #ff5757;
}
.add_new_part_area .area > ul > li a.block_link {
    display: block;
    color: #333;
    padding: 3%;
}
#add_new_part .area > ul > li a.block_link {
    padding: 3% 3% 0;
}
.add_new_part_area .area > ul > li a.block_link:hover {
	text-decoration: none;
    background-color: #feffdd;
}
.add_new_part_area .area > ul > li .profile_txt {
    margin-top: 15px;
}
#add_new_part .area > ul > li .profile_txt {
    font-size: 12px;
}
.add_new_part_area .area .serv_l_btn {
	margin: 10px auto 20px;
	text-align: center;
}

.add_new_part_area_highlight {
background-color: #f6ff00;
}


/* 出展者情報 */
.add_new_part_area dl {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin-bottom: 5px;
}
.add_new_part_area dl:last-child {
	margin-bottom: 0px;
}
.add_new_part_area dt {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 72px;
    background-color: #ececec;
    font-size: 11px;
    color: #666666;
    padding: 3px 6px;
}
.add_new_part_area dd {
	display: table-cell;
    vertical-align: middle;
    padding-left: 10px;
    font-weight: normal;
    font-size: 12px;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.add_new_part_area .point {
    clear: both;
    margin: 12px 0px 0px;
    padding: 10px;
    background: #ecece3;
    border-radius: 3px;
}
.add_new_part_area .pt_icon {
    display: inline-block;
    padding: 1px 5px;
    vertical-align: middle;
    color: #fff;
    background-color: #1e77b7;
    border-radius: 3px;
    font-size: 12px;
}
.add_new_part_area .point ul {
    display: block;
    overflow: hidden;
    vertical-align: middle;
    padding: 5px 0px 0px 10px;
}
.add_new_part_area .point ul li {
    font-size: 12px;
    font-weight: bold;
    color: #545330;
    height: 20px;
    padding-left: 18px;
    background: url(/common/img/gide_navi_arrow2.png) no-repeat 0px 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.add_new_part_area .btn {
    margin-top: 15px;
    margin-bottom: 15px;
    text-align: center;
}
.add_new_part_area .btn a {
    display: block;
    max-width: 340px;
    margin: 0 auto;
    padding: 10px 5px;
    border: 1px solid var(--navy);
    background: var(--navy);
    color: #fff;
    font-size: 13px;
    letter-spacing: 0px;
    font-weight: 600;
    border-radius: 5px;
}
.add_new_part_area .btn a:hover {
    background: #fff;
    color: var(--navy);
    text-decoration: none;
}	

.add_new_part_area .reject_btn {
    margin-bottom: 15px;
    text-align: center;
}
.add_new_part_area .reject_btn a {
    font-size: 12px;
    color: #333;
    text-decoration: underline;
}


/* ビジネスシーン
----------------------------------------------------------- */

.business_scene_area {
    padding: 0px;
}

/* footer
----------------------------------------------------------- */

#footer.type2 {
    margin: 0px 0px 0px 220px;
    padding: 30px 20px;
    width: calc(100% - 220px);
    background: #f3f3f3;
}

.ft_link {
    text-align: right;
}

.ft_link li {
    display: inline-block;
    margin-right: 10px;
}
.ft_link li:last-child {
    margin-right: 0;
}
.ft_link a {
    font-size: 13px;
    letter-spacing: 0.5px;
    font-weight: 600;
    color: #555;
}



@media screen and ( max-width:1050px ) {
	
    #main2>.box, #main2>.box_guide a {
        border-radius: 10px;
        margin: 0px 12px 20px;
        padding: 20px 15px;
    }
    .box_guide a {
        position: relative;
        padding-right: 35px;
        border-radius: 10px;
    }
    .box_guide a:after {
        content: "";
        position: absolute;
        top: 43%;
        right: 5%;
        width: 14px;
        height: 14px;
        border-top: 2px solid var(--navy);
        border-right: 2px solid var(--navy);
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        transform: rotate(45deg);
    }
    .box_guide a:hover:after {
        border-color: #fff;
    }

    
    .box_guide a .tl {
        width: calc(100% - 44px);
    }
    .box_guide a .btn {
        display: none;
    }
	.box_guide a .txt {
    	margin: 7px 0px 0px;
    	width: 100%;
    	font-size: 12px;
    }

}

/* スマホに適用させるCSS */
@media screen and ( max-width:760px ) {
	
    
    .inner {
        width: 96%;
        margin: 0 auto;
    }
	p {
    	font-size: 14px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    
    header .in,#breadcrumb ul,#bread_all ul,#footer_body,
    #side,#side_wrap,#main,#main2,#main_area,.area,#content,iframe,
    .rt_prof,.lt_office_img,.member_list_blk .img,.member_list .img {
        width: 100%;
        float: none;
    }
    
    .pc {
        display: none !important;
    }
    .mb {
        display: block !important;
    }
    
    
    .inner,#content .in,.in {
        width: 96%;
        margin: 0 auto;
    }
    #content {
        display: block;
    }
    .home #main {
		margin: 0;
    	padding: 125px 10px 30px;
	}
	
    #g_navi nav {
        width: 100%;
    }
    #g_navi li a {
    	padding: 0px 8px;
    }
    .header_bg .eyecatch h1 {
	    text-align: center;
	}
    #main {
        margin: 0px;
        border-right: 0px;
    	padding: 0px;
    	padding: 20px; /* 20200519 */
    }
    #main2 {
        position: relative;
        margin: 20px auto 50px auto;
        min-height: auto;
        background-color: #f6f9fd;
    }
    
	.login_area_in input {
	    height: 50px;
	}
	
	.pass_area #buttonEye {
    	min-height: 48px;
	}
	#footer.type2 {
        margin: 0px;
        padding: 40px 0px;
        width: 100%;
        background: #fff;
    }
    button, input, select, textarea {
        font-size: 13px;
    }
    input[type="search"], input[type="text"], input[type="email"], input[type="url"], input[type="number"], input[type="password"], input[type="tel"], input.login, select {
        height: 42px;
        font-size: 13px;
    }
    
    .fancybox-wrap {
        width: 90% !important;
    }
    .fancybox-inner {
        width: 100% !important;
    }
    .fancy_area {
        padding: 20px 15px 20px;
        background: none;
    }
    .fancybox-skin {
        padding: 15px 10px !important;
    }
    .head_area {
        padding: 30px 0 0;
        border: 0;
        background: none;
    }
    .head_area h2 {
        text-align: left;
    }
    .head_area .sub {
        right: inherit;
        left: 8px;
    }
    .fancy_area .wrap .fl_l {
        margin: 0 auto 20px !important;
        float: none !important;
        text-align: center;
    }
    .fancy_area ul.check_list {
        margin-top: 20px;
    }
    .fancy_area ul.check_list li {
        font-size: 13px;
    }
    .fancy_contents {
        margin-bottom: 30px;
        padding: 0px 0px 20px;
        border: 0;
    }
    .fancy_contents h2 {
        margin-bottom: 15px;
        padding-bottom: 15px;
        font-size: 16px;
    }
    .fancy_contents p {
        font-size: 12px;
        line-height: 1.6;
        padding: 0px 5px;
    }
    .fancy_contents .cate {
        font-size: 11px;
        letter-spacing: 0;
    }
    .fancy_area .contract_list .img_pict {
        display: none;
    }
    .cart_reader_area canvas {
        width: 100% !important;
        height: auto !important;
    }
    .review_detail .left {
        margin: -20px 0;
        width: 1000%;
        max-height: inherit;
        overflow: inherit;
    }
    .review_detail .right {
        width: 1000%;
        padding-left: 0px;
    }
    .acv_list .sub {
        white-space: inherit;
        overflow: inherit;
        text-overflow: inherit;
    }
    .acv_list .sub dt {
        margin-bottom: 5px;
        width: 30%;
    }
    .acv_list .sub dd {
        width: 60%;
    }
    .contract_list .contract_area .txt {
        margin: 10px 0px 0px;
        font-size: 11px;
    }



    /* header
    ----------------------------------------------------*/


    .head_menu {
    	top: 2px;
	    right: 40px;
	}
	.head_menu li a i {
	    margin-right: 0px;
	    font-size: 18px;
	}
	#admin_header {
	    margin-top: 46px;
	    height: auto;
	}
    #header .site_logo {
        margin-top: 0px;
        margin-left: 0px;
        padding-top: 8px;
    }
    #site_logo a {
	    font-size: 12px;
	}
    #top_g_navi {
        position: absolute;
        top: 56px;
        right: 10px;
    }
	#top_g_navi .nav ul>li>a {
        padding: 0px 4px;
        font-size: 12px;
    }

    /* headerのAIフォーム
    ----------------------------------------------------*/


    .head_top .flex_in {
        display: block;
        width: 100%;
    }
    #side, #side2 {
        background: var(--navy);
    }
    /*
    #nav-drawer .ai_btn_area {
        display: none;
    }
    */
    #nav-drawer .ai_btn_area {
        margin: 20px 0px 0px 0px;
    }
    .aiSearchError:before {
        transform: rotate(270deg);
        top: -68%;
        left: 9%;
    }
    .aiSearchError {
        top: 65px;
        left: 0px;
        width: 188px;
        padding: 5px 3px;
        font-size: 11px;
    }
    /* side
    ----------------------------------------------------*/
    #sidr,
    #side {
	    position: relative;
	    top: inherit;
	    left: inherit;
	    bottom: inherit;
    	width: 100%;
    	z-index: 3;
	}
    
    #side,
    #side2,
    #side2 nav ul {
    	position: relative !important;
		width: 100%;
    	padding-bottom: 0px;
	}
    #side_background {
        width: 100%;
    }
	#nav-drawer {
        position: fixed;
        top: 8px;
        right: 8px;
        z-index: 998;
        width: 50px;
        height: 50px;
        background: none;
	    -webkit-transition: .2s ease 0s;
	    transition: .2s ease 0s;
        background: #ffffff;
        border: 2px solid var(--navy);
	    border-radius: 50%;
	}
	#nav-drawer.fixed {
	    position: fixed;
	}
	#nav-open {
        display: inline-block;
        width: 50px;
        height: 50px;
        vertical-align: middle;
        padding: 16px 0px 0px 13px;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span::before, #nav-open span::after {
	    position: absolute;
	    height: 2px;
	    width: 20px;
	    border-radius: 3px;
        background: var(--navy);
	    display: block;
	    content: '';
	    cursor: pointer;
	}
	
	#nav-open span:before {
	    bottom: -7px;
	}
	#nav-open span:after {
	    bottom: -14px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
	    display: none;
	    position: fixed;
	    z-index: 99;
	    top: 0;
	    right: 0;
	    width: 100%;
	    height: 100%;
	    opacity: 0;
	    transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
	    overflow: auto;
	    position: fixed;
	    top: 0;
	    right: 0;
	    z-index: 99;
	    width: 75%;
	    max-width: 330px;
	    height: 100%;
	    background: #fff;
	    transition: .3s ease-in-out;
	    -webkit-transform: translateX(105%);
	    transform: translateX(105%)
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	    display: block;
	    opacity: .5;
	}

	#nav-input:checked ~ #nav-content {

	}
	/*開いた際のエリア部分*/
	.nav-tl-menu {
	    position: relative;
        z-index: 9;
    	padding: 15px 10px 15px 15px;
	    font-size: 15px;
        font-weight: 600;
	    letter-spacing: 3px;
        background: var(--navy2);
	    color: #fff;
	}
	#admin_menu,
	nav ul {
		width: 100%;
	}
	.sidebar li {
	    border-right: 0;
	}
    #nav-content .sidebar li.submenu>a {
		cursor: pointer;
	}
    #nav-content .sidebar li.submenu>a:after {
	    content: " ";
	    position: absolute;
	    top: 26px;
	    right: 10px;
	    z-index: 12;
	    height: 0;
	    width: 0;
	    pointer-events: none;
	    border: solid transparent;
	    border-top-color: #fff;
	    border-width: 5px;
    }
    #nav-content .sidebar li.active>a:after {
	    border-top-color: var(--navy);
    }
    
	#nav-content .sidebar li.submenu.open a:after {
    	top: 18px;
		transform: rotate(-180deg);
	}
	.active.submenu:after {
		content: none;
	}
    #nav-content .sidebar li.submenu.active,
    #nav-content .sidebar li:last-child {
    	border-bottom: 0px;
	}
    .sidebar a {
        line-height: 56px;
        height: 56px;
    }
	.sidebar a i {
	    top: 20px;
	    left: 10px;
	}
    #nav-content .sidebar .active > a {
	    color: #3d3f44;
	}
	#nav-content .submenu .wp-submenu,
	#nav-content .submenu.active.open .wp-submenu {
    	display: none !important;
    	background: var(--navy2);
    	z-index: 0;
    	height: 0px;
    	border-left: 0;
	}
	#nav-content .submenu.open .wp-submenu,
	#nav-content .submenu.active .wp-submenu {
	    display: block !important;
    	padding: 10px;
    	height: auto;
	}
	#nav-content .sidebar .wp-submenu.open {
		display: block;
		height: auto;
	}
	#nav-content .sidebar .wp-submenu li a {
        padding: 20px 8px 16px 25px;
        height: auto;
        line-height: 1;
	}
	.wp-submenu li a:before,
	.wp-submenu li a:hover:before,
	.wp-submenu li.active a:before {
	    border: solid transparent;
	    content: " ";
	    height: 0;
	    width: 0;
	    position: absolute;
	    pointer-events: none;
	    top: 22px;
	    left: 10px;
	    border-right-color: #fff;
	    border-width: 5px;
	    transform: rotate(180deg);
	    z-index: 12;
	    -webkit-transition: .4s ease 0s;
	    transition: .4s ease 0s;
	}
	#nav-content .sidebar .wp-submenu li a i {
	    position: inherit;
	    top: inherit;
	    left: 5px;
	    font-size: 13px;
	    color: #fff;
	}
	#nav-content .sidebar .wp-submenu .active {

	}
	#nav-content .sidebar .wp-submenu li a:hover,
	#nav-content .sidebar .wp-submenu .active > a {
    	color: #ffed70 !important;
	}
	#nav-content .sidebar .wp-submenu .active > a:before {
		border-right-color: #ffed70;
	}
	
    #nav-content .sidebar li a:hover {
        text-decoration:none;
    }
    
	/* 閉じるボタン */
	#nav-drawer .close {
	    position: absolute;
	    top: 16px;
	    right: 20px;
	    width: 20px;
	    height: 20px;
	}
    #nav-drawer .close:before, #nav-drawer .close:after {
	    display: block;
	    content: "";
	    position: absolute;
	    top: 50%;
	    left: 0;
        margin-top: 0;
	    width: 20px;
	    height: 2px;
    	background: #fff;
	}
    #nav-drawer .close:before{
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    #nav-drawer .close:after{
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
    }
    
    
    /* layout
    ----------------------------------------------------------- */
    
    #wrapper {
        background-color: #f6f9fd;
    }
    .home #main,
    #main {
		margin-top: 30px;
    	padding: 10px 10px 30px;
	}
    #main2 section {
        border-radius: 10px;
        width: auto;
        margin: 0px 12px 20px;
        padding: 25px 15px;
        box-shadow: none;
    }
    #breadcrumb {
		padding: 0px 0px 12px;
	}
	#breadcrumb li {
		font-size: 11px;
	}
    #main section {
    	padding: 0% 2%;
    }
    .user_topics_area {
        padding: 12px 9px;
    }
    .user_topics_area .cate {
        margin-right: 10px;
        padding: 2px 5px;
        font-size: 11px;
        letter-spacing: 0px;
    }



    .head_title {
        margin-bottom: 40px;
    }
    .head_title h1, .head_title h2, section h1, section h2 {
        font-size: 18px;
    }
    .heading h2 {
	    font-size: 18px;
	}
    .heading h3 {
    	margin: 25px 0px 30px;
	    font-size: 16px;
	}
	
    .heading h4 {
	    font-size: 14px;
	}
	
	.box_guide_2 {
		display: block;
    	padding: 20px;
    	text-align: center;
	}
	.box_guide_2 .img {
    	width: 100px;
	    margin: 0 auto 20px;
	}
	.box_guide_2 .txt {
		width: 100%;
	}
	.box_guide_2 .btn {
	    text-align: center;
	    margin: 0 auto;
	}
    #main2 .toggle_tl_area {
        margin: 15px 0px;
        padding: 15px 15px;
        background: #f7f7f7;
    }
    #main2 .toggle_tl_area h3 {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
        font-size: 15px;
    }
    .toggle {
        overflow: inherit !important;
    }
    ul.s_form_area {
        margin: 0px 0px;
    }
    ul.s_form_area li {
        margin-top: 12px;
        margin-right: 0px;
        width: 100%;
    }
    ul.s_form_area .button_s {
        margin-top: 10px;
        min-width: 100%;
    }

    #modal-info, #modal-info2, #modal-info3 {
        width: 90%;
        max-height: 80vh;
        padding: 60px 20px 20px;
    }
    #modal-hidden-form {
        width: 90%;
        max-height: 80vh;
        padding: 20px;
    }
    #modal-info-alert {
        width: 90%;
        top: inherit;
    }
    .alert_area {
        width: 100%;
    }
    .alert_area .title_area h2 {
        font-size: 16px;
    }
    .alert_area p {
        font-size: 12px;
    }
    .alert_list {
        padding: 10px 10px;
    }
    
    .alert_list li .txt_in {
        padding: 0 10px;
    }
    .alert_list li .tl span {
        display: block;
        margin-bottom: 10px;
        padding: 4px 8px;
    }
    #modal-hidden-form #message_input_box {
        max-height: 165px;
        overflow-y: scroll !important;
    }
    /* 作成・確認
    ----------------------------------------------------*/
    
    .field_box {
        margin: 20px 0;
    }
	.field_box .in {
    	padding: 5% 2% 3%;
	}
	.field_box li {
		display: block;
    	padding: 22px 0px;
	}
    .field_box li .th,
    .field_box li .th2,
    .field_box li .td {
    	display: block;
		width: 100%;
		padding: 0;
	    border: 0;
	    text-align: left;
	}
    .field_box li .th {
        margin: 0 0 12px;
	}
	.field_box li:first-child .th {
		margin-top: 0px;
	}
    .field_box li .td select {
        margin: 0 2px 0 8px;
    }
    .field_box li .th2 {
		position: absolute;
	    top: 10px;
	    right: 5px;
	    text-align: right;
	}

    span.st_span_pick {
        max-width: 70px;
        margin: 0 0 8px;
        text-align: center;
    }
    /*
	.must,.free {
	    padding: 2px 8px;
	    font-size: 11px;
	}
    */
	.field_box .head {
	    height: auto;
	    padding: 12px 12px 12px 16px
    }
    .field_box li .td {
		
	}

    .cl_reason_li li {
        padding: 5px 0;
    }
    .field_box li .td .part_city {
        width: 150px;
        margin-right: 0px;
    }
    .field_box li .td input.part_address {
        margin-top: 10px;
        width: 100%;
    }
    /* メインの修正
    ------------------------------------------------*/

	.pt_msg_lead {
        font-size: 12px;
    }
    .pt_name {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
    .send_type_msg {
        font-size: 10px;
    }
    .msg_table {
        margin-bottom: 0px;
    }
    .msg_table tr {
        display: flex;
        flex-wrap: wrap;
        padding: 15px 0px;
        border-top: 1px solid #e4e2df;
    }
    .msg_table td {
        padding: 10px 0px;
        font-size: 13px;
        border: 0px;
        flex-basis: 100%;
    }
    .msg_table td a.partner_link {
        padding: 0px;
    }
    a.partner_link .wrap {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        text-align: left;
        align-items: center;
    }
    a.partner_link .img {
        margin-bottom: 0px;
        width: 80px;
    }
    a.partner_link .tl {
        width: calc(100% - 80px);
        margin-bottom: 0px;
        padding-left: 20px;
        font-size: 16px;
    }
    .msg_table .send_type_msg {
        margin-right: 5px;
        font-size: 9px;
    }
    .msg_list_t .msg_created {
        font-size: 12px;
    }
    .msg_table .msg_created {
        font-size: 10px;
    }
    .msg_table .btn_menu a {
        padding: 15px 10px;
        font-size: 12px;
    }
    .msg_table td.nego_st_area {
        display: flex;
        align-items: center;
        margin: 15px 0px 5px;
        padding-top: 0;
    }
    .msg_table .select_part_status {
        width: 100px;
        margin-right: 15px;
    }
    .msg_table .select_part_status select {
        margin-bottom: 0;
        padding: 3px 3px 3px 5px;
    }
    .msg_table textarea.memo {
        width: calc(100% - 100px - 15px);
        min-height: 52px;
    }
    .add_new_part_area .area > ul > li {
        width: 100%;
        margin: 0 0 5%;
    }
    .add_new_part_area .btn a {
        width: 90%;
        margin: 0 auto;
    }
    .msg_table .add_part_status .btn_menu a {
        min-width: 47%;
    }
    .msg_table .add_part_status .btn_menu:first-child a {
        margin-right: 2%;
    }
    .add_append_type {
        position: relative;
        display: inline-block;
        margin-top: 8px;
        padding: 3px 7px;
        top: 0;
        right: 0;
        font-size: 11px;
    }
    .add_comment {
        font-size: 14px;
    }
    .sep_form_area ul.sep_l_list li {
        width: 100%;
        display: flex;
        align-items: center;
        padding: 0px;
        margin-bottom: 15px;
    }
    .sep_form_area ul.sep_l_list li .img {
        width: 70px;
        height: 70px;
    }
    .sep_form_area ul.sep_l_list li .txt p {
        font-size: 12px;
    }
    .sep_form_area ul.sep_l_list li .txt {
        width: calc(100% - 70px);
        margin-top: 0;
        padding-left: 15px;
    }
    .sep_form_area ul.sep_l_list li .txt .tl {
        margin-bottom: 7px;
        font-size: 14px;
        text-align: left;
    }
    /*
	.time_cl .week_area {
	    width: 100%;
	    overflow-y: hidden;
	    overflow-x: visible;
	    white-space: nowrap;
	    flex-wrap: nowrap;
	}
	*/
	.time_cl dl {
        width: auto;
	}
	.time_cl dt {
        height: 46px;
	    font-size: 11px;
	}
    .daytime_left_area {
        width: 50px;
    }
    .daytime_left_area dl {
        width: 50px;
    }
    .time_cl .week_all_area {
        width: calc(100% - 50px);
    }

    .daytime_left_area dd {
        padding-top: 7px;
        font-size: 12px;
        letter-spacing: 0.5px;
    }
	.time_cl label {

	}
    li#alertContainer {
        display: block;
        position: fixed;
        top: 70px;
        right: 16px;
        z-index: 9999;
        width: 34px;
        background: var(--red);
        padding: 6px 2px 6px 9px;
        border-radius: 20px;
    }
    li#alertContainer a {
        font-weight: 600;
    }
    .sj_list>li {
        width: 96%;
        margin: 0 2% 5%;
    }
    .st_status {
        margin-bottom: 5px;
    }
    .st_status span {
        padding: 3px 2px;
        font-size: 11px;
    }
    .sj_list>li a {
        padding: 20px 0px;
    }
    .sj_list>li .flex_in {
        align-items: center;
    }
    .sj_list h2 {
        font-size: 16px;
    }
    .sub_area li {
        margin-right: 2px;
        font-size: 12px;
    }
    .sub_area span.tl {
        margin-right: 5px;
        padding: 3px 3px 8px;
        font-size: 11px;
    }
    .sj_result .sj_list .sub_area span.tl,
    .sj_list>li:nth-child(even) .sub_area span.tl {
        margin-right: 0px;
        padding: 2px;
        min-width: auto;
        background: none;
    }
    .sj_result .sj_list .sub_area span.tl .svg_icon {
        margin-right: 0px;
    }
    .sj_list li .img {
        width: 60px;
    }
    .sj_list li .right {
        width: calc(100% - 60px);
    }
    .sub_area li:last-child {
        letter-spacing: 1px;
    }
    .sub_area span.view {
        font-size: 16px;
    }
    .sj_flow {
        margin: 5px 0px 0px;
    }
    ul.project_status_list li {
        width: 100%;
        margin: 0 0 20px;
    }
    ul.project_status_list li:nth-child(1) {
        margin-right: 0;
    }
    ul.project_status_list li h3 {
        margin-bottom: 10px;
        font-size: 15px;
    }
    .guide_help_list li {
        width: 90%;
        margin: 0 5% 5%;
    }
    .guide_help_list li:last-child {
        margin-bottom: 0;
    }
    .guide_help_list li a {
        padding: 15px 10px;
        font-size: 13px;
    }
    .tab2 {
        margin-bottom: 20px;
    }
    .tab2 li a {
        font-size: 14px;
        letter-spacing: 0px;
    }
    .head_top {
        padding: 10px 5px;
    }
    .head_top a {
        font-size: 13px;
    }
    body.lump_top_body .mb_tid_top_area {
        display: none !important;
    }
    .mb_tid_top_area {
        margin: 20px 0 0 12px;
    }
    
    .mb_tid_top_area.fixed {
        z-index: 996;
        display: inline-block !important;
        width: auto;
        margin-top: 14px;
    }
    .mb_tid_top_area a {
        position: relative;
        display: inline-block;
        padding: 10px 10px 10px 30px;
        letter-spacing: 0.5px;
        font-size: 14px;
        font-weight: 600;
        color: var(--navy);
        background: #f6f9fd;
    }

    .mb_tid_top_area a:after {
        content: "";
        display: block;
        position: absolute;
        left: 15px;
        top: 38%;
        width: 10px;
        height: 10px;
        border-top: solid 2px var(--navy);
        border-right: solid 2px var(--navy);
        transition: all 0.2s ease-in-out;
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg);
    }
    .budget_area_label {
        width: 112px;
    }
    
    .btn_area.second .button_n, .btn_area.second .button_n2 {
        min-width: calc(100% / 2 - 15px);
    }
    .faq_question {
        font-size: 14px;
    }
    .faq_question .btn:before, .faq_question .btn:after {
        width: 18px;
    }
    .faq_question .btn {
        width: 28px;
    }

    .my_memo .txt {
        width: 100%;
        padding: 0;
    }
    .my_memo p {
        font-size: 11px;
    }
    .my_memo textarea {
        width: 100%;
        margin-top: 15px;
    }
    .apo_list_table {
        margin-top: 30px;
    }
    table.tl_base.apo_list_table th {
        padding: 7px;
        font-size: 11px;
        letter-spacing: 0;
    }
    .ft_link {
        padding: 0 12px;
        text-align: left;
    }
    .ft_link li {
        display: block;
        margin-right: 0px;
        margin-bottom: 15px;
    }
    .ft_link li:last-child {
        margin-bottom: 0px;
    }
    .review_ct .add_new_part_area {
        padding: 0px;
        border: 0px;
        background: none;
    }
	.review_body h3.est_ct_tl {
	    font-size: 13px;
	    padding: 10px;
	}
	.review_body select#industry {
	    width: 94px;
	}
	.review_body .review_ct select#goods_code1,
	.review_body .review_ct select#goods_code2,
	.review_body .review_ct select#goods_code3 {
		margin-bottom: 10px;
    	width: 100% !important;
	}
	.review_body .rating_star li {
	    width: 100%;
        display: flex;
        align-items: center;
	}
	.review_body .star_type_item {
        min-width: 112px;
        font-size: 10px;
    }
    .br-wrapper.br-theme-fontawesome-stars {
        width: calc(100% - 112px);
    }
    .br-theme-fontawesome-stars .br-widget a {
        font-size: 24px;
    }
	.review_body .review_ct p {
	    font-size: 14px;
	    line-height: 22px;
	}
	.review_body header .head {
	    background: #12759c;
	}
	.review_body header .head .head_wrap {
	    width: 100%;
	}
	.review_body #site_logo {
	    float: left;
	    padding-left: 10px;
	    text-align: center;
	}
	.review_body #site_logo img {
	    width: 90px;
	    height: 30px;
	}
	.review_body #catch_copy {
	    margin-right: 12px;
	    top: 22px;
	    left: 120px;
	}
	.review_body .review_body .g_search, .review_body .nav,
	.review_body .tel_area,.review_body #fnavi {
	    display: none;
	}
	.review_body #footer_body {
	    float: none;
	    width: 100%;
	}
	.review_body .button_n2 {
    	min-width: 90px;
	}
	.review_body .button_y {
    	min-width: 150px;
	}
	
	.review_body .category_wrap {
	    background: #fff;
	    padding: 20px;
	}
	
	.review_body .category_wrap li.big_cate {
	    width: 100%;
	    float: none;
	}



}