@charset "UTF-8";

html,body,figure,dt,dd,ul,ol {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
}
p {
	margin-top: 0;
}
html {
	font-size: 16px;
	font-family: sans-serif;
}
em,strong,address {
	font-style: normal;
}
ul[class*="col_"],
ul.col,
nav ul {
	list-style: none;
}
img {
	max-width: 100%;
	height: auto;
}
footer a, nav a {
	color: inherit;
	text-decoration: none;
	display: block;
}
a[class],
[class] a {
	text-decoration: none;
}
a.inline {
	text-decoration: underline;
}
a img {
	border: none;
	max-width: 100%;
}
a:hover {
	opacity: 0.8;
}

/* sizing */
/* .headerNav {
	flex-basis: 70%;
} */
.innerPageNav {
	flex-basis: 61%;
}
.wrap {
	padding: 4rem calc(50% - 570px);
	min-width: 1140px;
}
.narrow {
	width: 1008px;
	margin-left: auto;
	margin-right: auto;
}
.narrow2 {
	width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.lead {
	margin: 2em auto;
}
.innerPageNav li {
	border-right: 1px solid #333;
	flex-grow: 1;
	text-align: center;
}
.innerPageNav a {
	background: rgba(0, 0, 0, 0) url("../images/icons-menu.svg") no-repeat scroll center 10px;
	color: #333;
	padding-bottom: 5px;
	padding-top: 40px;
}
.innerPageNav a[href="#service"] {	background-position: center 1px;}
.innerPageNav a[href="#option"] {	background-position: center -100px;}
.innerPageNav a[href="#howtostart"] {	background-position: center -200px;}
.innerPageNav a[href="#qa"] {	background-position: center -300px;}

.innerPageNav li:first-child {
	border-left: 1px solid #333;
}
.userNav li {
	font-size: 0.9em;
}
.userNav li:first-child {
	margin-bottom: 0.4em;
}
[class*="btn_"] {
	padding: 0.3em 2em;
}
/* OPEN-2919 イージーモードスマホ対応 */
/* ヘッダー */
.site-header {
	padding-top: 122px;
}
.site-header-nav {
	padding-top: 10px;
	background-color: rgba(255,255,255,1);
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	border: none;
}
.navbar-default .navbar-nav > li > a {
	color: inherit;
	text-decoration: none;
	display: block;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
	color: #157ab5;
	text-decoration: none;
	background-color: #eeeeee;
}
.navbar-default .navbar-toggle {
	border-color: #555555;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
	background-color: inherit;
}
/* ヘッダメニューの固定 */
/* .siteHeader {
	padding-top: 122px;
}
.siteHeader .wrap {
	align-items: stretch;
	height: 70px;
	margin: 0;
	padding-bottom: 1rem;
	padding-top: 1rem;
	width: 100%;
	height: 102px;
}
.siteHeaderNav {
	position: fixed;
	-webkit-backface-visibility: hidden;
	top: 0;
	z-index: 100;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	background-color: rgba(255,255,255,0.9);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.logo_impress {
	height: 70px;
	background-color: #fff;
	text-align: center;
	box-sizing: border-box;
}
.logo_impress img {
	border: 1px solid #fff;
	border-width: 8px 2px 0 2px;
} */

/* color */
.btn_1,
.btn_2,
.btns_1 > *,
.color_1s > *,
.color_1 {
	color: #fff;
}
.home p,
.steps .book p,
.color-blue {
	color: #004d8a;
}
.eyeCatchBottom em,
.serviceNav .css_num a::after,
[id="service"] .css_num::before,
.color_2,
.color-yellow {
	color: #ffa000;
}
.btn_1,
.btns_1 > *,
.color_1s > *,
.color_1,
[id*="service_"] .css_num::after,
.background-color-blue {
	background-color: #004d8a;
}
.btn_2,
.btns_2 > *,
.color_2s > *,
.background-color-yellow {
	background-color: #ffa000;
}
.eyeCatch.eyeCatch {
	height: auto;
	text-align: center;
	padding-top: 0;
	padding-bottom: 0;
}
.topPage-eyeCatch {
	background-color: #eaeef1;
}
.eyeCatch img {
	display: block;
	width: 100%;
	height: auto;
}
.secTitle small {
	color: #888;
}
/* cssによるナンバリング */
.css_count {
	counter-reset: count;
}
.css_count .css_num {
	counter-increment: count;
	position: relative;
}
.css_count .css_num::before {
	content: counter(count, decimal);
	position: absolute;
	z-index: 3;
	font-family: arial;
	font-weight: normal;
}
[class^="logo_"] {
	width: 74px;
	display: block;
}
.home img {
	margin-right: 0.5rem;
}
.home a {
	font-size: 1rem;
}
.home p {
	align-self: flex-end;
	margin-bottom: 0;
	line-height: 1.2;
}
.home span {
	display: block;
	font-size: 1.35em;
}
.secTitle {
	font-size: 2em;
	margin-bottom: 1em;
	position: relative;
	text-align: center;
}
.secTitle small {
	display: block;
	font-size: 1rem;
}
.secTitle::before, .secTitle::after {
	background: #000 none repeat scroll 0 0;
	content: "";
	display: inline-block;
	height: 2px;
	position: absolute;
	top: 0.8em;
	width: 35%;
}
.secTitle::before {
	left: 0;
}
.secTitle::after {
	right: 0;
}
[id="recommend"] .secTitle::before, [id="recommend"] .secTitle::after {	width: calc((100% - 10em) / 2);}
[id="service"] .secTitle::before, [id="service"] .secTitle::after { width: calc((100% - 17em) / 2);}
[id="option"] .secTitle::before, [id="option"] .secTitle::after { width: calc((100% - 23em) / 2);}
[id="howtostart"] .secTitle::before, [id="howtostart"] .secTitle::after { width: calc((100% - 7em) / 2);}
[id="qa"] .secTitle::before, [id="qa"] .secTitle::after { width: calc((100% - 7em) / 2);}
.bar0.bar0::before,.bar0.bar0::after { width: 0%; }
.bar5.bar5::before,.bar5.bar5::after { width: 5%; }
.bar10.bar10::before,.bar10.bar10::after { width: 10%; }
.bar15.bar15::before,.bar15.bar15::after { width: 15%; }
.bar20.bar20::before,.bar20.bar20::after { width: 20%; }
.bar25.bar25::before,.bar25.bar25::after { width: 25%; }
.bar30.bar30::before,.bar30.bar30::after { width: 30%; }
.bar35.bar35::before,.bar35.bar35::after { width: 35%; }
.bar40.bar40::before,.bar40.bar40::after { width: 40%; }
.bar45.bar45::before,.bar45.bar45::after { width: 45%; }
[id="recommend"] {	background: url("../images/bg_recommend.gif") center bottom repeat;}
[id="service"] header {
	background: url("../images/bg_service.jpg") center top no-repeat;
	background-size: cover;
}
.eyeCatchBottom.eyeCatchBottom {
	font-size: 1.25em;
	font-weight: bold;
	height: auto;
	margin: 0;
	padding-bottom: 1em;
	padding-top: 1em;
	text-align: center;
}
.lead {
	line-height: 2;
}
.lead em {
	color: #004d8a;
	font-weight: bold;
}
.checks {
	align-items: stretch;
	justify-content: space-between;
	margin: 4rem 0;
}
.checks > * {
	flex-basis: 15%;
	line-height: 2;
	padding: 3em 1.4em;
	position: relative;
}
.checks > *::before {
	background-image: url("../images/icons-check_1.svg");
	content: "";
	display: block;
	height: 4rem;
	left: calc(50% - 1.6rem);
	position: absolute;
	top: -2em;
	width: 4rem;
}
.checks > *:nth-child(2n)::before {
	background-image: url("../images/icons-check_2.svg");
}
.checks > * em {
	font-weight: bold;
	font-size: 1.05em;
}

/* 列になる子要素しか持たない親要素 */
.col {
	display: flex;
	justify-content: space-between;
}
[class*="col_"] {
	flex-wrap: wrap;
	list-style: none;
	justify-content: space-between;
}
.col_1 {
	justify-content: center;
}
[class*="col_"] > * {
	flex-grow: 0;
	flex-shrink: 0;
	box-sizing: border-box;
}
/* 2列 */
.col_2 > * {
	flex-basis: 48%;
	margin-bottom: 55px;
}
/* 3列 */
.col_3 > * {
	flex-basis: 30%;
}
/* ランディングページ用に繰り返し出現するボタン */
.lp_btns {
	padding-left: 0;
	padding-right: 0;
	min-width: 0;
	justify-content: center;
}
.wrap + .lp_btns {
	padding-top: 1rem;
}
.lp_btns [class*="btn_"] {
	text-align: center;
	font-size: 1.3em;
	flex-basis: 21.3em;
	padding: 1em 0;
}
.lp_btns [class*="btn_"]:nth-child(2) {
	margin-left: 7em;
}
/* #service */
[id="service"] {
	background: url(../images/bg_recommend.gif) repeat;
	position: relative;
	z-index: 0;
}
.serviceNav .col_3 > * {
	margin-bottom: 3rem;
}
.serviceNav .col_3 > * a {
	box-sizing: border-box;
	height: 100%;
	padding: 1em;
}
.serviceNav a {
	position: relative;
}
.serviceNav a p {
	border-top: 1px solid currentcolor;
	margin-top: 1em;
	padding: 1em 0 0;
	width: 100%;
}
.serviceNav .css_num::before {
	font-size: 4rem;
	left: 1rem;
	top: 0.3rem;
}
.serviceNav a strong {
	display: table-cell;
	font-size: 1.2rem;
	height: 3em;
	line-height: 1.3;
	padding-left: 2.8rem;
	padding-right: 1rem;
	vertical-align: middle;
}
.serviceNav .css_num a::after {
	content: ">";
	font-size: 2rem;
	position: absolute;
	right: 1rem;
	top: 1rem;
}
[id*="service_"] {
	margin-bottom: 4rem;
	position: relative;
}
[id*="service_"]:last-child {
	margin-bottom: 0;
}
[id*="service_"] .css_num {
	font-size: 2em;
	text-align: center;
	border: 1px solid #888;
	background-color: #fff;
	margin-bottom: 1em;
	overflow: hidden;
	padding: 0.8em;
	position: relative;
	z-index: 0;
}
[id*="service_"] .css_num::before {
	font-size: 1.5em;
	left: 1.2em;
	top: 0.45em;
}
[id*="service_"] .css_num::after {
	position: absolute;
	left: -0.2em;
	top: 50%;
	box-shadow: -0.3em -0.3em 0 #004d8a;
	content: "";
	display: block;
	font-size: 6em;
	width: 1em;
	height: 1em;
	transform: translateY(-50%) rotate(-45deg);
	z-index: -1;
}
[id*="service_"]::before,
[id*="service_"]::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -2;
	width: 3em;
	height: calc(1rem * 3.6);
	box-shadow: 1em -1em 1em -0.5em rgba(0,0,0,0.5) inset;
	transform-origin: left top;
	transform: skewY(-35deg);
	background-color: #d3d3d3;
}
[id*="service_"]::before {
	left: 1.5em;
	width: 1.5em;
	transform-origin: right top;
	transform: translateY(-2em) skewY(35deg);
	background-color: #898989;
	box-shadow: -1em 0 1em -0.8em rgba(0,0,0,0.5) inset;
	z-index: -2;
	/*top: -2em;*/
}
[id*="service_"] .css_num + div {
	margin-left: 120px;
	border-left: 5px solid #004d8a;
	padding-left: 2em;
}

/* #option */
[id="option"] header {
	background: url(../images/bg_option.jpg) no-repeat center top;
	background-size: cover;
	position: relative;
	z-index: 0;
}

/* #howtostart */
[id="howtostart"] {
	background-color: #eaeef1;
}
.steps {
	justify-content: space-between;
	list-style: none;
	margin: 3rem 0;
}
.steps > * {
	width: 200px;
	height: 200px;
	box-sizing: border-box;
	padding: 0 1em;
	border-radius: 50%;
	position: relative;
	text-align: center;
}
.steps > li:not(.book) span:first-of-type {
	position: absolute;
	font-size: 0.8em;
	display: block;
	top: 35%;
	left: 22%;
}
.steps > li:not(.book) span:first-of-type + span {
	font-size: 4.1em;
	font-family: Arial;
	line-height: 1;
	margin: 2rem auto 0.6rem;
	display: block;
}
.steps .book {
	background: url(../images/icons-book.svg) transparent 80% top no-repeat;
	flex-grow: 0;
	flex-shrink: 1;
	flex-basis: 7em;
	border-radius: 0;
	color: inherit;
	padding: 130px 0 0 0;
	height: auto;
	font-size: 1.1em;
	font-weight: bold;
}
.steps > li:not(.book)::after {
	content: ">";
	font-size: 2rem;
	position: absolute;
	right: -1em;
	top: calc(50% - 1rem);
	line-height: 1;
	color: #ffa000;
}

/* #option */
.op_cont {
	background-color: #fff;
	height: 100%;
	flex-flow: column;
	align-items: stretch;
}
.op_cont strong {
	padding: 1em 2em;
	color: #fff;
	background-color: #ffa000;
	vertical-align: middle;
	flex-basis: 2em;
	font-size:1.2rem;
}
.op_cont p {
	padding: 2em;
	color: inherit;
	text-decoration: underline;
	margin: 0;
	height:100px;
}
/*[id="option"] header .col_2 > * {
 * background-color: #f8f8f8;
 * padding: 1rem;
 * }*/
.pen {
	font-size: 2rem;
	text-align: center;
	margin-bottom: 0.1em;
	padding: 1em 0.3em 0.3em;
	background: url(../images/icons-pen.svg) no-repeat 97% 0.5rem;
}
[id^="option_"] {
	background-color: #f8f8f8;
	margin-bottom: 55px;
}
[id^="option_"] p {
	font-size: 0.9rem;
	text-align: center;
	margin: 0 2rem 1rem;
}
[id^="option_"] .price {
	background-color: #ffa000;
	margin: 0 3rem 1rem;
	color: #fff;
	line-height: 2;
}
[id^="option_"] .txt {
	font-size: 1rem;
	border-top: 1px #333 dashed;
	width: auto;
	margin-top: 1rem;
	padding-top: 1rem;
	text-align: left;
}


/* #qa */
[id="qa"] nav.col_2 > * {
	flex-basis: 50%;
	margin-bottom: 0;
}
[id="qa"] nav h3 {
	margin-bottom: 0.5rem;
	font-size: 1rem;
}
[id="qa"] nav h3::before {
	content: "●";
	padding-right: 0.2em;
}
[id="qa"] nav ul {
	margin-bottom: 2rem;
	font-size: 0.88rem;
	line-height: 2;
}
[id="qa"] nav li a {
	text-indent: -1.3em;
	padding-left: 1.3em;
}
[id="qa"] nav li a:hover {
	background-color: #ffa000;
}
[id="qa"] nav li a::before {
	content: "Q";
	padding-right: 0.4em;
}
.answers {
	list-style: none;
	padding-top: 0;
}
.answers > li {
	position: relative;
}
.answers [id^="q_"] {
	display: block;
	color: #004d8a;
	font-size: 1.25em;
	border: 2px solid currentColor;
	border-bottom-width: 0;
	margin-bottom: 1px;
	cursor: pointer;
	padding-left: 4.5em;
	position: relative;
	line-height: 2;
	box-shadow: 3.5em 0 0 0 currentColor inset;
}

.answers > li:last-child [id^="q_"] {
	border-bottom-width: 2px;
}
.answers [id^="q_"]::before {
	/*content: attr(id);*/
	content: 'Q';
	padding-right: 0.8em;
}
.answers [id^="q_"]::after {
	content: "??";
	position: absolute;
	color: #fff;
	display: block;
	width: 1rem;
	height: 1rem;
	left: 1.5rem;
	top: calc(50% - 0.5rem);
	line-height: 1;
	transform: scale(0.7);
}
.answers [id^="q_"].open::after {
	transform: rotate(90deg) scale(0.7);
}
.answers [id^="q_"] + .a {
	background-color: #fff;
	padding: 1rem 8em;
	border: 2px solid #004d8a;
	border-width: 2px 2px 0;
}
.answers > li:last-child [id^="q_"] + .a {
	border-width: 0 2px 2px;
}
.answers .a {
	position: relative;
}
.answers .a.hide {
	display: none;
}
.answers [id^="q_"] + .a::before {
	content: "A";
	position: absolute;
	display: block;
	color: orange;
	left: 1.4em;
	font-size: 3.5em;
	font-family: Arial;
	top: 0.2em;
	line-height: 1;
}
.answers [id^="q_"].open,
.answers [id^="q_"]:target {
	margin-bottom: 0;
	animation: targetColor 1s forwards;
}
@keyframes targetColor {
	0% {
		background-color: #ffa000;
	}
	100% {
		background-color: #ffffa0;
	}
}
/*.answers [id^="q_"]:target + .a {
 * display: block;
 * }*/
[id="q_3"] + .a .col_2 > * {
	flex-basis: 45%;
	margin-top: 1rem;
	margin-bottom: 1rem;
}
/* OPEN-2919 イージーモードスマホ対応 */
/* フッター */
.site-footer {
	background-color: #323232;
	color: #b8b8b8;
	margin-top: 4rem;
}
.site-footer ul {
	margin-top: 1rem;
}
.site-footer ul li {
	display: inline-block;
	padding-right: 28px;
}
.site-footer address {
	margin-top: 14px;
}
/* .siteFooter */
/*.siteFooter div.col_2 {
	justify-content: flex-start;
	padding-bottom: 0;
}
.siteFooter div.col_2 > * {
	flex-basis: 35%;
	margin-bottom: 1rem;
	padding-left: 1em;
}
.siteFooter address {
	background-color: #e0e0e0;
	align-items: flex-end;
	padding-top: 1.3rem;
	padding-bottom: 1.3rem;
}
.siteFooter address > :first-child {
	flex-grow: 1;
	margin-bottom: 0;
}
.siteFooter address ul {
	list-style: none;
	justify-content: flex-end;
	align-items: flex-end;
	margin-bottom: 0;
}
.siteFooter address ul > * {
	padding-left: 0.9rem;
}
.siteFooter address ul > :not(:last-child) {
	border-right: 1px solid currentColor;
	padding-right: 0.9rem;
}
.siteFooter address ul > :first-child {
	border-left: 1px solid currentColor;
}
.siteFooter address ul > *:last-child {
	margin-right: 4em;
}
.logo_PUBFUN {
	width: 64px;
} */
.tblW th:first-child {
	white-space:nowrap;
}

.underL {
	text-decoration:underline !important;
}

/* TOPへ戻るボタン */
a[href="#top"] {
	position: fixed;
	display: block;
	right: 1rem;
	bottom: 1.3rem;
	width: 4em;
	height: 4em;
	text-align: center;
	padding-top: 1.5em;
	box-sizing: border-box;
	background-color: #ffa000;
	border-radius: 50%;
	font-family: Arial;
	font-weight: bold;
	color: #fff;
	opacity: 0.6;
}
a[href="#top"]:hover {
	opacity: 1;
}

.ol-custom {
	padding-left: 19px;
}

.margin-btn-custom {
	margin-left: 5px !important;
}

.td-button-custom {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.td-button-custom input[type=button]{
	background-image: linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5) !important;
	padding-top: 8px !important;
	padding-bottom: 8px !important;
	font-weight: normal;
	font-size: 14px !important;
	border-bottom: 1px solid #178acc !important;
	border-radius: 4px !important;
}
