@charset "UTF-8";

/*	main-color:			#1f65d9
		thick-color:		#e9422c
		black:					#222
		gray-bg:				#f5f5f5
		gray-txt:				#888
		gray-border:		#ddd
*/

/* ==================================================================

	各種初期化設定
	
================================================================== */


/* ==================================================================

	basic box style
	
================================================================== */

[class^="gcolumn"],
[class*=" gcolumn"] {
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: -40px;
	font-size: 0;
	text-align: center;
	letter-spacing: 0;
	position: relative;
}

[class^="gcolumn"] > .col,
[class*=" gcolumn"] > .col {
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 40px;
	font-size: 1rem;
	vertical-align: top;
	display: inline-block;
	position: relative;
	list-style: none;
}

[class^="gcolumn"] > .col > :first-child,
[class*=" gcolumn"] > .col > :first-child {
	margin-top: 0 !important;
}

[class^="gcolumn"] > .col > :last-child,
[class*=" gcolumn"] > .col > :last-child{
	margin-bottom: 0;
}

* + [class^="gcolumn"],
* + [class*=" gcolumn"] {
	margin-top: 20px;
}


/* ------------------------------------------------------------------
  space
------------------------------------------------------------------ */

/* space-none */
[class^="gcolumn"].space-none,
[class*=" gcolumn"].space-none {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0 !important;
}

[class^="gcolumn"].space-none > .col,
[class*=" gcolumn"].space-none > .col {
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 0 !important;
}

/* space-small */
[class^="gcolumn"].space-small,
[class*=" gcolumn"].space-small {
	margin-left: -10px;
	margin-right: -10px;
	margin-bottom: -20px !important;
}

[class^="gcolumn"].space-small > .col,
[class*=" gcolumn"].space-small > .col {
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 20px !important;
}

* + [class^="gcolumn"].space-small,
* + [class*=" gcolumn"].space-small {
	margin-top: 10px;
}

/* space-large */
[class^="gcolumn"].space-large,
[class*=" gcolumn"].space-large {
	margin-left: -30px;
	margin-right: -30px;
	margin-bottom: -60px !important;
}

[class^="gcolumn"].space-large > .col,
[class*=" gcolumn"].space-large > .col {
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 60px !important;
}

* + [class^="gcolumn"].space-large,
* + [class*=" gcolumn"].space-large {
	margin-top: 30px;
}



/* ------------------------------------------------------------------
  separate
------------------------------------------------------------------ */

.gcolumn-half > .col {
	width: 50%;
}

.gcolumn-third > .col {
	width: 33.333%;
}

.gcolumn-fourth > .col {
	width: 25%;
}

.gcolumn-fifth > .col {
	width: 20%;
}

.gcolumn-sixth > .col {
	width: 16.666%;
}

[class^="gcolumn-large"] > .col {
	width: 70%;
	padding-bottom: 0;
}

.gcolumn-large_right > .col:first-child,
.gcolumn-large_left > .col:last-child {
	width: 30%;
}

[class^="gcolumn-large"],
[class*=" gcolumn-large"] {
	margin-bottom: 0 !important;
}


@media (max-width: 768px) {
	
	[class^="gcolumn"]:not(.hold),
	[class*=" gcolumn"]:not(.hold) {
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: -10px !important;
	}
	
	[class^="gcolumn"]:not(.hold) > .col,
	[class*=" gcolumn"]:not(.hold) > .col {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-bottom: 10px !important;
	}
	
	[class^="gcolumn"].hold,
	[class*=" gcolumn"].hold {
		margin-left: -10px !important;
		margin-right: -10px !important;
		margin-bottom: -20px !important;
	}
	
	[class^="gcolumn"].hold > .col,
	[class*=" gcolumn"].hold > .col {
		padding-left: 10px !important;
		padding-right: 10px !important;
		padding-bottom: 20px !important;
	}
	
	[class^="gcolumn"].space-none,
	[class*=" gcolumn"].space-none {
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class^="gcolumn"].space-none > .col,
	[class*=" gcolumn"].space-none > .col {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-bottom: 0 !important;
	}
	
}

/* ==================================================================

	table
	
================================================================== */


.table .btn {
	min-width: auto;
	margin-top: 0;
	padding: 1em;
	font-size: .75rem;
}

.table .btn.ghost {
    padding: .5em 1em;
}

.table .btn.detail {
	display: none;
}

.table th.size-small,
.table td.size-small {
	width: 6em;
}

.table th.size-middle,
.table td.size-middle {
	width: 8em;
}

.table th.size-large,
.table td.size-large {
	width: 17em;
}

.table th.align-left {
	padding-left: 1em;
}

.table.split-third th,
.table.split-third td {
	width: 33%;
}



@media (max-width: 768px) {
	.table:not(.hold) > tbody > tr > th,
	[class*=" table"]:not(.hold) > tbody > tr > th {
		background-color: #ddd;
	}
	.table .btn.detail {
		display: inline-block;
	}
	.table.hold th.pc-none,
	.table.hold td.pc-none {
		display: table-cell !important;
	}
	.table th.size-large,
	.table td.size-large {
		width: 8em;
	}
}

/* ------------------------------------------------------------------
	style
------------------------------------------------------------------ */

/* table-line_right */
.table.type-line_right.space-small {
	border-spacing: 0 1em;
}

.table.type-line_right > tbody > tr > th {
	border-right: 5px solid #ddd;
}

.table.type-line_right th.size-small {
	width: 12em;
}

.size-small .table-line_right th {
	width: auto;
}


@media (max-width: 768px) {
	.table.type-line_right:not(.hold) > tbody > tr > th {
		width: 100%;
		border: none;
	}
	.table:not(.hold) > tbody > tr > th,
	[class*=" table"]:not(.hold) > tbody > tr > th {
		background-color: #f2f2f2;
	}
	.size-small .table-line_right th {
		width: auto;
	}
	.table.type-line_right.hold > tbody > tr > th {
		text-align: right;
		padding-right: 1em;
		padding-left: 0;
	}
	.table.type-line_right.hold > tbody > tr > td {
		padding-left: 1em;
	}
}


/* table-fill */
.table-fill {
	border-collapse: separate;
	border-spacing: 0 0.5em;
}


.table-fill > tbody > tr > th,
.table-fill > tbody > tr > td {
	padding-top: 0;
	padding-bottom: 0;
}

.table-fill > tbody > tr > td {
	padding-left: 1em;
	vertical-align: middle;
}


/* ------------------------------------------------------------------
	table boder
------------------------------------------------------------------ */
.table.type-border {
	border: 1px solid #ddd;
	border-spacing: 0;
}

.table.type-border > tbody > tr > th,
.table.type-border > tbody > tr > td {
	padding: .5em;
	border-top: 1px solid #ccc;
}

.table.type-border > tbody > :first-child > th,
.table.type-border > tbody > :first-child > td {
	border-top: none;
}


/* ------------------------------------------------------------------
	table line_bottom
------------------------------------------------------------------ */
.table.type-line_bottom {
	border-spacing: 0;
}

.table.type-line_bottom > tbody > tr > th,
.table.type-line_bottom > tbody > tr > td {
	padding: .5em;
	border-bottom: 1px solid #ddd;
}


.table:not(.hold) > tbody > tr + tr {
  margin-top: 0 !important;
}


.btn.primary {
    background-color: #e9422c;
    border-color: #e9422c;
}

/* ------------------------------------------------------------------
  ELEMENTS
------------------------------------------------------------------ */

#page {
	font-size: 1.07rem;
	/*font-family: 'FOT-ニューセザンヌ Pro M', sans-serif;*/
	line-height: 2.1;
	letter-spacing: .05em;
	text-align: left;
}

#page [class^="gcolumn"] > .col,
#page [class*=" gcolumn"] > .col {
	font-size: 1.07rem;
}

#page .inner > * + *:not(.section):not(.contents_section) {
	margin-top: 1.5em;
}

#page small {
	font-size: 1rem;
	color: #c00;
	line-height: 1.4;
	display: block;
}

.note:not(div) {
	font-size: .85rem;
	color: #e9422c;
}

#page strong {
	font-family: 'FOT-ニューセザンヌ Pro DB', sans-serif;
	background: -moz-linear-gradient(top, rgba(255,204,0,0) 0%, rgba(255,204,0,0) 65%, rgba(255,204,0,0) 65%, rgba(255,204,0,.8) 65%, rgba(255,204,0,.8) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,204,0,0) 0%,rgba(255,204,0,0) 65%,rgba(255,204,0,0) 65%,rgba(255,204,0,.8) 65%,rgba(255,204,0,.8) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,204,0,0) 0%,rgba(255,204,0,0) 65%,rgba(255,204,0,0) 65%,rgba(255,204,0,.8) 65%,rgba(255,204,0,.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffcc00', endColorstr='#ffcc00',GradientType=0 ); /* IE6-9 */
}

#page hr {
	margin: 1.5em 0;
	border-color: #ddd;
}

#page .iframe {
	width: 100%;
	border: none;
}

@media (max-width: 768px) {
	#page {
		font-size: 14px;
	}
	#page .scroll_wrapper {
		overflow-x: scroll;
	}
	#page .scroll_wrapper > * {
		width: 720px;
	}
}


/* ==================================================================

	wrapper / contents
	
================================================================== */

/* ------------------------------------------------------------------
 common
------------------------------------------------------------------ */

#page .contents_section {
	margin: 0;
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	position: relative;
}

#page .contents_section > * + *:not(h2):not(h3):not(h4):not(h5):not(.title) {
	margin-top: 30px;
}

@media (max-width: 768px) {
	#page .contents_section {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	#page .contents_section > * + *:not(h2):not(h3):not(h4):not(h5):not(.title) {
		margin-top: 20px;
	}
}


/* ==================================================================

	design block
	
================================================================== */

#page .expert_avatar {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 3px solid #c657b8;
	display: inline-block;
	overflow: hidden;
}

#page .expert_avatar img {
	width: 100%;
}


/* ------------------------------------------------------------------
 common
------------------------------------------------------------------ */

#page [class^="box"] {
	padding: 40px;
	position: relative;
}

@media (max-width: 768px) {
	#page [class^="box"] {
		padding: 20px;
	}
}


/* ------------------------------------------------------------------
 arrow
------------------------------------------------------------------ */

#page .box_arrow {
	background-color: #f2f2f2;
	position: relative;
}

#page .box_arrow > :first-child {
	margin-top: 0 !important;
}

#page .box_arrow > :last-child {
	margin-bottom: 0 !important;
}

#page .box_arrow + * {
	margin-top: 60px;
}

#page .box_arrow:after {
	content: '';
	margin-left: -60px;
	border-top: 30px solid #f2f2f2;
	border-left: 60px solid transparent;
	border-right: 60px solid transparent;
	position: absolute;
	left: 50%;
	bottom: -30px;
}

@media (max-width: 768px) {
	#page .box_arrow {
		margin-left: -15px;
		margin-right: -15px;
	}
}


/* ------------------------------------------------------------------
 border
------------------------------------------------------------------ */

#page .box_border {
	border: 4px solid #222;
}

#page .box_border > .box_header {
	margin: -40px;
	padding-top: 20px;
	padding-bottom:  20px;
	color: #fff;
	background-color: #222;
}

#page .box_border > .box_header + * {
	margin-top: 80px;
}

@media (max-width: 768px) {
	#page .box_border > .box_header {
		margin: -20px;
	}
	#page .box_border > .box_header + * {
		margin-top: 40px;
	}
}



/* ------------------------------------------------------------------
 kakomi
------------------------------------------------------------------ */

#page [class^="kakomi"] {
	padding: 1rem;
	text-align: left;
}

#page .kakomi {
	border: 1px solid #222;
}

#page .kakomi-fill,
#page .kakomi.type-fill {
	background-color: #f2f2f2;
}

#page .kakomi.type-border {
	border: 2px solid #222;
}

#page [class^="kakomi"] > :first-child {
	margin-top: 0;
}

#page [class^="kakomi"] > :last-child {
	margin-bottom: 0;
}

/* ------------------------------------------------------------------
 kakomi
------------------------------------------------------------------ */

#page [class^="marker"] {
  display: inline;
  background: linear-gradient(to bottom, transparent, transparent 53%, rgba(31, 101, 217, 0.3) 53.1%);
  padding-left: .25em;
  padding-right: .25em;
}

#page .marker-red {
	background: linear-gradient(to bottom, transparent, transparent 53%, rgba(233, 66, 44, 0.3) 53.1%);
}

#page .marker-yellow {
	background: linear-gradient(to bottom, transparent, transparent 53%, rgba(243, 225, 26, 0.6) 53.1%);
}

/* ------------------------------------------------------------------
 absolute
------------------------------------------------------------------ */

#page .absolute_left {
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
}

#page .absolute_right {
	margin: 0;
	position: absolute;
	top: 0;
	right: 0;
}

/* ==================================================================

	btn
	
================================================================== */

#page button,
#page .btn:not(.size-small) {
	width: 75%;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.42rem;
	line-height: 1.4;
	box-shadow:0px 3px 0px 0px rgba(0,0,0,0.25);
	display: block;
}

#page button:hover,
#page .btn:hover:not(.size-small) {
	color: #222;
	background-color: transparent !important;
	top: 1px;
	box-shadow:0px 0px 0px 0px rgba(0,0,0,0);
	opacity: 1;
}

#page .btn.login:hover {
	color: #fff;
	background-color: #1f65d9 !important;
}

#page .btn.primary:hover {
	color: #fff;
	background-color: #e9422c !important;
}


@media (max-width: 768px) {
	#page button,
	#page .btn:not(.size-small) {
		width: 100%;
    font-size: 1em;
	}
}



/* ------------------------------------------------------------------
 old btn style
------------------------------------------------------------------ */

#page [class^="btn-"] {
	padding: 1em;
	color: #fff;
	text-decoration: none;
	text-align: center;
	border: 1px solid #222;
	border-radius: 4px;
	background-color: #222;
	display: inline-block;
}

#page [class^="btn-"].ghost {
	color: #222;
	background-color: #fff;;
}

#page .btn-small {
	padding: .5em 1em !important;
	font-size: 0.85rem !important;
	line-height: 2 !important;
}

#page .btn-fixed {
	width: 100%;
}

#page [class^="btn-"].disabled,
#page [class^="btn-"].disabled:hover,
#page [class^="btn-"].disabled:focus {
	color: #ccc !important;
	background-color: #eee !important;
	border-color: #ccc !important;
	opacity: 1;
	pointer-events: none;
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) !important;
	-moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) !important;
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) !important;
}


@media (max-width: 768px) {
	#page button,
	#page .btn {
		width: 100%;
		font-size: 1em;
	}
}

/* ==================================================================

	h2 - h5
	
================================================================== */

#page h2, #page h3, #page h4, #page h5 {
	font-family: 'FOT-ニューセザンヌ Pro DB', sans-serif;
	text-align: left;
	line-height: 1.4;
	margin-bottom: 1.5em;
}

#page * + h2,
#page * + h3,
#page * + h4,
#page * + h5 {
	margin-top: 2.5em;
	
}

#page h2 {
	font-size: 2rem;
}

#page h3 {
	font-size: 1.42rem;
}

#page h4,
#page .title-small {
	font-size: 1.28rem;
}

#page h5 {
	font-size: 1em;
}


#page .title.align-center,
#page .title.align-center > * {
	text-align: center !important;
}

@media (max-width: 768px) {
	#page * + h2,
	#page * + h3,
	#page * + h4,
	#page * + h5 {
		margin-top: 2em;
		margin-bottom: 1em;
	}
	#page h2 {
		font-size: 1.42rem;
	}
	#page h3 {
		font-size: 1.14rem;
	}
}

.title > .sub_title {
	font-size: 1.28rem;
	display: block;
}


/* ------------------------------------------------------------------
 style
------------------------------------------------------------------ */

#page .title > .type-line_bottom,
#page h3 > .type-line_bottom {
	text-align: left;
	line-height: 1.4;
	border-bottom: 1px solid #222;
	display: block;
}

#page .title > .type-fill {
	padding: .5em 1em;
	color: #fff;
	line-height: 1.4;
	background-color: #222;
	display: block;
}

#page .title > .type-line {
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-top: 1px solid #222;
	border-bottom: 1px solid #222;
	display: block;
}



/* ==================================================================

	table
	
================================================================== */

#page .table {
	font-size: 1rem;
}


/* ------------------------------------------------------------------
 table_border
------------------------------------------------------------------ */

#page [class^="list-table"] {
	width: 100%;
	border-spacing: 0;
}

#page [class^="list-table"] th {
	font-weight: bold;
}

#page [class^="list-table"] th,
#page [class^="list-table"] td {
	padding-top: .25em;
	padding-bottom: .25em;
	text-align: left;
	vertical-align: top;
}

#page [class^="list-table"] th > :first-child,
#page [class^="list-table"] td > :first-child {
	margin-top: 0;
}

#page [class^="list-table"] td {
	padding-left: 1.5em;
}

#page .list-table_border {
	border-top: 1px solid #ccc;
}

#page .list-table_border th,
#page .list-table_border td {
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #ccc;
}

/* ==================================================================

	list
	
================================================================== */

#page ul, #page ol {
}


/* ------------------------------------------------------------------
 list-faq
------------------------------------------------------------------ */

#page .list-normal > li {
	padding-left: 1em;
	line-height: 1.4;
	position: relative;
}

#page .list-normal > li + li {
	margin-top: .5em;
}

#page .list-normal > li:before {
	content: '';
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background-color: #222;
	display: inline-block;
	position: absolute;
	top: .5em;
	left: 0;
}

/* ------------------------------------------------------------------
 list-faq
------------------------------------------------------------------ */

#page .list-faq li {
	padding: 1em;
	list-style: none;
	background-color: #f2f2f2;
}

.list-faq li + li {
	margin-top: .5rem;
}

#page .list-faq li:before {
	content: '';
	display: none;
}


/* ------------------------------------------------------------------
 tag
------------------------------------------------------------------ */

#page .tags {
	margin-bottom: 0;
	text-align: left;
}

#page .tags li {
	padding: .25rem .5rem;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	font-size: 1rem;
	line-height: 1;
	color: #222;
	border: 1px solid #222;
	background-color: #fff;
	list-style: none;
	display: inline-block;
}

#page .tags li.strong {
	color: #e9422c;
	font-weight: bolder;
	border-color: #e9422c;
}


/* ------------------------------------------------------------------
 tag
------------------------------------------------------------------ */

#page .list-point {
	padding: 20px;
	background-color: #f2f2f2;
}

#page .list-point > :first-child {
	margin-top: 0;
}

#page .list-point [class^="title"] {
	margin-bottom: 10px;
}

#page .list-point [class^="title"] .type-line {
	padding-top: .25em;
	padding-bottom: .25em;
}

#page .list-point ol {
	padding: 0;
	margin: 0;
	counter-reset: ol_li;
}

#page .list-point li {
	padding: 0 0 .0 2.5em;
	font-size: 1.28rem;
	position: relative;
	list-style: none;
}

#page .list-point ol > li:before {
	/*counter-increment: ol_li;*/
	content: '\e90b\e90b'/*counter(ol_li)*/;
	font-size: 1.4em;
	letter-spacing: -.5em;
	position: absolute;
	opacity: 0.5;
	top: 2px;
	left: 0;
}

#page .list.type-checklist > li {
  padding-left: 0;
}

#page .list.type-checklist > li:before {
  content: "\e906";
  font-family: 'icomoon';
  padding-right: .25em;
  transform: scale(1.25);
}

