/* ヘッダー部分改修 */
header{
	color: #555555 !important;
}
.main_nav > ul > li > a{
	color: #555555 !important;
	cursor: pointer;
}
.main_nav > ul > li:hover{
	border-bottom: thin solid #2d6eba;
}
.header_logo{
	color: #555555 !important;
}
.header_logo:hover{
	opacity: 0.7;
	cursor: pointer;
}

/* ロゴの SVG の色変更 → https://codepen.io/sosuke/pen/Pjoqqp */
/*
	#666666		filter: invert(42%) sepia(10%) saturate(23%) hue-rotate(6deg) brightness(91%) contrast(91%);
	#555555		filter: invert(31%) sepia(1%) saturate(1735%) hue-rotate(329deg) brightness(107%) contrast(96%);
	#444444		filter: invert(16%) sepia(0%) saturate(3381%) hue-rotate(316deg) brightness(85%) contrast(65%);
*/
.logo_svg{
	filter: invert(31%) sepia(1%) saturate(1735%) hue-rotate(329deg) brightness(107%) contrast(96%);
}

/* フッター部分改修 */
footer{
    background-color: #2d6eba;
	padding: 0px;
}
.geek_about {
    color: #fff;
	margin: 0px;
    padding: 10px 30px 10px 30px;
}

/* メインコンテンツ部分改修 */
main{
	padding-top: 86px;
}
@media screen and (max-width: 999px) {
    main{
        padding-top: 75px;
    }
}
.page_container{
	padding: 0px !important;
}
.page_container > p{
	padding: 15px;
}
.dev_ex_ttl{
	max-width: 1200px;
	margin: auto;
}

/* 自由設計ページ用パーツ タイトル 本文 リンクなど */
.free_parts_ttl {
	font-size: large;
	font-weight: bold;
	padding: 10px;
	color: #2d6eba;
}
.large_title{
	font-size: x-large;
}
@media screen and (max-width: 999px) {
	.large_title{
		font-size: large;
	}	
}

.out_link{
	color: #582bec;
}
.out_link:hover{
	opacity: 0.6;
	cursor: pointer;
}
.out_link span{
	font-size: x-small;
}

.free_parts_hr{
	margin: 30px auto;
	border-width: 2px;
	border-style: dashed;
	border-color: #2d6eba;
}

.about_img_box{
	text-align:center;
}
.about_img{
	display:block;
	float:left;
	width:48%;
	margin:1%;
}
.about_img img{
	max-width: 100%;
}
.clear_float{
	clear:both;
}
@media screen and (max-width: 999px) {
	.about_img{
		display:block;
		float:none;
		width:98%;
		margin:1%;
	}
}
.about_img_nofloat{
	display:block;
	width:98%;
	margin:1%;
}
.about_img_nofloat img{
	max-width: 100%;
}

.about_chk_box{
	margin: 15px;
}
.about_chk_img{
	float:left;
	width: 15px;
}
.about_chk_str{
	margin-left: 40px;
	font-size: large;
	font-weight: bold;
	line-height: 150%;
	border-bottom: thin solid #00c057;
}

/* チェックマーク */
.checkbox-container {
	position: relative;
	margin: 2rem;
}
.checkbox {
	margin-right: 0.5rem;
	position: relative;
	display: inline-flex;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	border: 2px solid #cccfdb;
	transition: all 0.3s ease;
	cursor: pointer;
}
.checkbox svg {
	fill: none;
	stroke: #00c057;
	stroke-dasharray: 28;
	stroke-dashoffset: 28;
	position: absolute;
	top: 0;
	left: 3px;
}
.checkbox svg:first-child {
	stroke: #fff;
}
.check {
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: absolute;
	top: 0;
	left: 0;
}
.check:after {
	position: absolute;
	width: 24px;
	height: 24px;
	content: "";
	top: 0;
	left: 0;
	z-index: 2;
	cursor: pointer;
}
.check + .checkbox {
	color: #00c057;
	border-color: #00c057;
}
.check + .checkbox svg {
	stroke-dashoffset: 0;
}
.template {
	display: none;
}
@media screen and (max-width: 720px) {
	.checkbox {
		width: 50px;
		height: 50px;
	}
	.check:after {
		width: 50px;
		height: 50px;
	}
	.about_chk_str{
		margin-left: 60px;
	}
}

/* 自由設計ページ用パーツ Table */
.free_parts_table_wrap {
	padding: 15px;
	max-width: 100% !important;
}
.free_parts_table,
.free_parts_table td,
.free_parts_table th {
	border: 1px solid #2d6eba;
	border-collapse: collapse;
}
.free_parts_table th {
	word-break: keep-all;
}

/* 自由設計ページ用パーツ リスト */
/*
ul.free_parts_list, ol.free_parts_list {
	color: #668ad8;
	border: dashed 2px #668ad8;
	background: #f1f8ff;
	padding: 0.5em 0.5em 0.5em 2em;
}
ul.free_parts_list li, ol.free_parts_list li {
	line-height: 1.5;
	padding: 0.5em 0;
}
*/
.free_parts_list{
	margin-left: 15px;
	font-size: 1.4rem;
	line-height: 170%;
}
ul.free_parts_list, ol.free_parts_list {
	list-style: none;
}
ul.free_parts_list li, ol.free_parts_list li {
	position: relative;
	padding-left: 24px;
}
.free_parts_list li::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 10px;
	height: 10px;
	background-color: #2d6eba;
	border-radius: 5px;
}

.free_parts_list_about{
	margin-left: 15px;
	font-size: 1.6rem;
	line-height: 170%;
}
ul.free_parts_list_about, ol.free_parts_list_about {
	list-style: none;
}
ul.free_parts_list_about li, ol.free_parts_list_about li {
	position: relative;
	padding-left: 24px;
}
.free_parts_list_about li::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 10px;
	height: 10px;
	background-color: #00c057;
	border-radius: 5px;
}


/* 画像ボケ対策 */
img{
	image-rendering: -webkit-optimize-contrast !important;
	/* -webkit-backface-visibility: hidden;
	image-rendering: pixelated !important; */
	max-width: 100%;
	height: auto;
}

/* エラーメッセージ */
.caution_text_area{
	display:block;
	margin:0%;
	margin-bottom:30px;
}
.caution_text{ vertical-align:text-top; font-size:medium; }
.caution_text > img{ vertical-align:text-top; margin-right:1%; }
.caution{ color: #f9352c; }
.notice{ color: #1c2168; }

/* 寄せ方 */
.align_left{ text-align:left; }
.align_center{ text-align:center; }
.align_right{ text-align:right; }




/* ポップアップ有りの画像対応 */
a.lity_popup{
	border-bottom:none !important;
	display:inline-block;
	width:50% !important;
	max-width: 300px;
	max-height: 400px;
	/* margin:0 auto !important; */
}
a.lity_popup > img{
	max-width:100%;
}
@media (max-width: 720px) {
	a.lity_popup{
		width:100% !important;
	}
}

/* 引用ブロック */
blockquote { background-color:#fff; margin:0%; padding:10px 30px 10px; border:1px solid #ccc; box-shadow:0px 4px 0px 0px #f2f2f2; border-radius:2px; position:relative; }
blockquote:before { content: '"'; font-style:italic; font-size:30px; font-weight:normal; line-height:40px; width:30px; height:30px; position:absolute; top:5px; left:10px; color:#5cbcd7; }
blockquote:after { content: '"'; font-style:italic; font-size:30px; font-weight:normal; text-align:left; line-height:60px; width:30px; height:30px; position:absolute; bottom:7px; right:-2px; color:#5cbcd7; }

/* WYSIWYG */
.trumbowyg_front{
	font-size: 1.4rem !important;
	/*color: #1b1464;*/
}

.trumbowyg_front table tr td{
	padding: 0.5% !important;
	min-height: 25px !important;
	background-color: #ffffff !important;
	border:1px solid #222222 !important;
	margin: 0px !important;
}
.trumbowyg_front table{
	width: 100%;
	/* border-spacing: 0 !important; */
	border-collapse: collapse !important;
}
.trumbowyg_front ul li{
	list-style-type: disc;
	margin-left: 20px;
}
.trumbowyg_front ol li{
	list-style-type: decimal;
	margin-left: 20px;
}
.trumbowyg_front blockquote{
	box-shadow: none !important;
}




/* Ajax通信の失敗テキスト */
.ajax_error_text{
	color: #e74a3b;
	display: none;
}


/* Active_statusを文字色で表現 */
.active_on{
	color: #17a05d;
}
.active_off{
	/*color: #a0a0a0;*/
	color: #dd5145;
	background-color: #a0a0a0 !important;
}
	
	
	
	
/* 利用規約 */
.pp_sentence h2 {
	margin: 20px 0 10px 0;
	padding: 5px 0 5px 10px;
	font-size: 1.8rem;
	border-left: 5px solid #1d89d7;
}
	
.pp_sentence p {
	margin: 10px 0 0 30px;
	font-size: 1.4rem;
	line-height: 160%;
}
	
.pp_sentence ol {
	margin: 10px 0 0 30px;
	font-size: 1.4rem;
}		
.pp_sentence li + li {
	margin-bottom: 10px;
}
	
.pp_sentence ol li {
	font-size: 1.4rem;
	position: relative;
	list-style: outside decimal;
	padding: 0 0 0 5px;
	line-height: 160%;
}
	
