@charset "utf-8";

.bold {font-weight: 600!important;}
.t_center {text-align: center!important;}
.t_right {text-align: right!important;}
.t_left {text-align: left!important;}
.f12 {font-size: 12px!important; font-size: 1.2rem!important;}
.f13 {font-size: 13px!important; font-size: 1.3rem!important;}
.f14 {font-size: 14px!important; font-size: 1.4rem!important;}
.f15 {font-size: 15px!important; font-size: 1.5rem!important;}
.mt00 {margin-top: 0!important;}
.mt10 {margin-top: 10px!important;}
.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt70 {margin-top: 70px!important;}
.mt80 {margin-top: 80px!important;}
.mb00 {margin-bottom: 0!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb80 {margin-bottom: 80px!important;}

/************************************************

  PC layout

************************************************/
/* =========================================
  base
========================================= */
body {
	min-width: 1100px;
}
img,iframe {
	max-width: 100%;
	height: auto;
}
img {
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
a:hover img {
	opacity: 0.7;
}
.section-inner {
	width: 1100px;
	margin: 0 auto;
}
.pc-none {
	display: none;
}
.img-cover {
	font-family: 'object-fit: cover;'; /* IE */
}
.phone-number {
	text-decoration: none;
	pointer-events: none;
}
#contact-fixed {
	position: fixed;
	top: 109px;
	right: 0;
}
#contact-fixed li {
	background: #fff;
}
#contact-fixed li:last-child {
	margin: 15px 0 0;
}
#contact-fixed-sp {
	display: none;
}

/*  heading
------------------------------------ */
.head-type01 {
	color: #39a8e5;
	font-size: 38px;
	font-size: 3.8rem;
	text-align: center;
	letter-spacing: 0.1em;
	margin: 70px 0 0;
}
.head-type02 {
	color: #fff;
	font-size: 24px;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	margin: 50px 0 0;
	padding: 6px 10px 3px;
	background: #39a8e5;
	border-radius: 4px;
}
.head-type03 {
	color: #39a8e5;
	font-size: 24px;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	margin: 30px 0 0;
	padding: 0 10px 3px;
	border-bottom: solid 1px #39a8e5;
}

/*  parts
------------------------------------ */
.text-box {
	line-height: 1.8;
	margin: 30px 0 0;
}
.text-box p {
	margin: 15px 0 0;
}
.note {
	margin: 20px 0 0;
}
.note li {
	text-indent: -1em;
	padding-left: 1em;
	margin: 5px 0 0;
}
.note li:first-child {
	margin-top: 0;
}
.table-box {
	margin: 40px 0 0;
}
.table-box table {
	border-spacing: 5px;
}
.table-box th,
.table-box td {
	padding: 10px;
}
.table-box th {
	color: #fff;
	width: 30%;
	background: #61b9ea;
	border-radius: 5px;
}
.table-box td {
	border-bottom: solid 1px #61b9ea;
}
.image-box {
	margin: 40px 0 0;
}
.image-box .img-left {
	float: left;
	max-width: 500px;
	margin: 0 30px 0 0;
}
.image-box .img-right {
	float: right;
	max-width: 500px;
	margin: 0 0 0 30px;
}
.image-box .txt-right,
.image-box .txt-left {
	overflow: hidden;
}
.image-box .txt-right p,
.image-box .txt-left p {
	line-height: 1.8;
	margin: 15px 0 0;
}
.image-box .txt-right p:first-child,
.image-box .txt-left p:first-child {
	margin: 0;
}
.image-box:before,
.image-box:after {
	display: table;
	content: '';
}
.image-box:after {
	clear: both;
}
.image-box {
	zoom: 1;
}
.cmn-btn {
	margin: 40px 0 0;
}
.cmn-btn a {
	text-decoration: none;
	padding: 10px 30px;
	background: #f0f0f0;
	border: solid 1px #ccc;
	box-shadow: 1px 1px 0 #ddd;
	display: inline-block;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.cmn-btn a:hover {
	background: #ccc;
}

/*  menu button
------------------------------------ */
#menu-btn {
	display: none;
}

/*  pagenation
------------------------------------ */
.pagenation {
	font-size: 0;
	text-align: center;
	margin: 50px 0 0;
}
.pagenation li {
	font-size: 14px;
	font-size: 1.4rem;
	display: inline-block;
}
.pagenation li span,
.pagenation li a {
	text-decoration: none;
	padding: 10px 15px;
	display: block;
	background: #eee;
	border: solid 1px #fff;
	border-radius: 5px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}
.pagenation .current span,
.pagenation li a:hover {
	color: #fff;
	background: #39a8e5;
}

/*  page-btn
------------------------------------ */
.page-btn {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 50px 0 0;
}
.page-btn::before,
.page-btn::after {
	content: '';
	display: table;
}
.page-btn::after {
	clear: both;
}
.page-btn .back {
	text-align: center;
	margin: 0 100px;
}
.page-btn .next {
	float: left;
}
.page-btn .prev {
	float: right;
}
.page-btn a {
	text-decoration: none;
	padding: 5px 20px;
	background: #f9f9f9;
	border: solid 1px #ccc;
	display: inline-block;
	-webkit-transition: .4s ease;
	transition: .4s ease;
	position: relative;
}
.page-btn .next a {
	padding: 5px 15px 5px 25px;
}
.page-btn .prev a {
	padding: 5px 25px 5px 15px;
}
.page-btn .next a::before {
	content: '';
	width: 3px;
	height: 3px;
	border: 0px;
	border-bottom: solid 1px #111;
	border-left: solid 1px #111;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -2px;
}
.page-btn .prev a::after {
	content: '';
	width: 3px;
	height: 3px;
	border: 0px;
	border-top: solid 1px #111;
	border-right: solid 1px #111;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -2px;
}
.page-btn a:hover {
	background: #d6d6d6;
}

/*  2column layout
------------------------------------ */
.container {
	margin: 40px 0 0;
}
.container .mainContents {
	width: 800px;
	float: left;
}
.container .sideContents {
	font-size: 15px;
	font-size: 1.5rem;
	width: 270px;
	float: right;
}

/*  article
------------------------------------ */
.article > li {
	padding: 0 0 40px;
	border-bottom: dotted 1px #ccc;
}
.article > li:first-child .ttl {
	margin-top: 0;
}
.article .ttl {
	color: #39a8e5;
	font-size: 24px;
	font-size: 2.4rem;
	margin: 40px 0 0;
}
.article .ttl a {
	text-decoration: none;
}
.article .ttl a:hover{
	text-decoration: underline;
}
.article .date {
	color: #999;
	font-size: 15px;
	font-size: 1.5rem;
	margin: 10px 0 0;
}
.article .txt {
	margin: 20px 0 0;
	max-height: 72px;
	overflow: hidden;
}
.article .txt span {
	font-size: 16px!important;
	font-size: 1.6rem!important;
}
.article .txt img,
.article .txt iframe {
	display: none;
}
.article .tag {
	margin-top: 10px;
}
.article .tag li {
	margin: 5px;
	padding: 0;
	border: none;
	display: inline-block;
}
.article .tag li a {
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	text-decoration: none;
	padding: 3px 5px;
	display: block;
	border-radius: 5px;
	background: #39a8e5;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.article .tag li a:hover {
	opacity: 0.6;
}
.article .article-body {
	margin: 20px 0 0;
}
.article .article-body p {
	line-height: 1.8;
	margin-top: 10px;
}
.article .article-body:before,
.article .article-body p:before,
.article .article-body:after,
.article .article-body p:after {
	display: table;
	content: '';
}
.article .article-body:after,
.article .article-body p:after {
	clear: both;
}
.article .article-body,
.article .article-body p {
	zoom: 1;
}

/*  sidebar
------------------------------------ */
.page-body-sidebar .side-ttl {
	color: #fff;
	margin-bottom: 20px;
	padding: 3px 5px 1px;
	background: #39a8e5;
	border-radius: 3px;
}
.page-body-sidebar .page-body-sidebar li {
	margin-bottom: 5px;
}
.page-body-sidebar .styled-post-list01,
.page-body-sidebar .side-tag-list {
	margin-bottom: 30px;
}
.page-body-sidebar .styled-post-list01 a,
.page-body-sidebar .side-tag-list a {
	display: block;
	overflow: hidden;
}
.page-body-sidebar .styled-post-list01 li::before,
.page-body-sidebar .side-tag-list li::before {
	content: '・';
	float: left;
}

/*  pagetop button
------------------------------------ */
#pagetop {
	position: fixed;
	bottom: 5%;
	right: 3%;
	z-index: 100;
}
#pagetop a {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	display: inline-block;
	position: relative;
	width: 50px;
	height: 50px;
	padding: 0;
	border-radius: 50%;
	background: #e6464e;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}
#pagetop a:hover {
	opacity: 0.7;
}
#pagetop a:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	-webkit-transform: translate(-50%, -20%) rotate(45deg);
	transform: translate(-50%, -20%) rotate(45deg);
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}

/* =========================================
  header
========================================= */
header {
	padding: 109px 0 0;
}
header .header-inner {
	width: 100%;
	padding: 14px 0 16px;
	background: url(../img/common/h_bg.jpg) repeat 0 0;
	border-top: solid 5px #61b9ea;
	position: fixed;
	top: 0;
	left: 0;
	box-shadow: 0 1px 5px #999;
	z-index: 999;
}
header .header-frame {
	width: 1100px;
	margin: 0 auto;
}
header #logo {
	text-align: center;
	width: 272px;
	height: 135px;
	margin: auto;
	position: absolute;
	top: 11px;
	right: 0;
	left: 0;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
header #logo::after {
	content: '';
	width: 272px;
	height: 50px;
	background: url(../img/common/h_logo_bg.png) no-repeat 0 0;
	position: absolute;
	bottom: -8px;
	left: 0;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
header #logo img {
	width: 130px;
	position: relative;
	z-index: 1;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}

/*  nav
------------------------------------ */
nav .nav01 {
	float: left;
}
nav .nav02 {
	float: right;
}
nav li {
	color: #39a8e5;
	letter-spacing: 0.14em;
	float: left;
}
nav .nav01 li {
	margin: 0 50px 0 0;
}
nav .nav02 li {
	margin: 0 0 0 70px;
}
nav li a {
	text-decoration: none;
	padding: 50px 0 0;
	display: block;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
nav .nav01 li:nth-child(1) a {
	background: url(../img/common/nav01.png) no-repeat 50% 0;
	background-size: 32px 40px;
}
nav .nav01 li:nth-child(2) a {
	background: url(../img/common/nav02.png) no-repeat 50% 0;
	background-size: 32px 40px;
}
nav .nav01 li:nth-child(3) a {
	background: url(../img/common/nav03.png) no-repeat 50% 0;
	background-size: 32px 40px;
}
nav .nav02 li:nth-child(1) a {
	background: url(../img/common/nav04.png) no-repeat 50% 0;
	background-size: 32px 40px;
}
nav .nav02 li:nth-child(2) a {
	background: url(../img/common/nav05.png) no-repeat 50% 0;
	background-size: 32px 40px;
}
nav .nav02 li:nth-child(3) a {
	background: url(../img/common/nav06.png) no-repeat 50% 0;
	background-size: 32px 40px;
}
nav li a:hover {
	opacity: .5;
}

@media screen and (min-width: 1100px) {
	/* header 固定時 */
	.is-animation #logo {
		top: 4px;
	}
	.is-animation #logo::after {
		bottom: 35px;
	}
	.is-animation #logo img {
		width: 80px;
	}
	.is-animation nav li a {
		padding: 0;
		background-image: url(../img/common/h_bg.jpg)!important;
	}
}

/* =========================================
  footer
========================================= */
footer {
	color: #fff;
	padding: 20px 0 0;
	background: #39a8e5;
}
footer .footer-inner {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}
footer .logo {
	position: absolute;
	top: -129px;
	left: 1px;
}
footer .logo a:hover img {
	opacity: .8;
}
footer .add {
	font-size: 22px;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	margin: 60px 0 0 390px;
	float: left;
}
footer .f-contact {
	letter-spacing: 0.14em;
	margin: 0 50px 0 0;
	float: right;
}
footer .f-contact .tel {
	font-size: 24px;
	font-size: 2.4rem;
	text-align: right;
	line-height: 1.1;
}
footer .f-contact .tel .number {
	display: block;
}
footer .f-contact .tel a {
	font-size: 32px;
	font-size: 3.2rem;
}
footer .f-contact .mail {
	color: #39a8e5;
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
	margin: 5px 0 0;
	background: #fff;
	border-radius: 5px;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
footer .f-contact .mail:hover {
	opacity: .5;
}
footer .f-contact .mail a {
	text-decoration: none;
	padding: 14px 0;
	display: block;
}
footer .f-contact .mail span {
	padding-left: 46px;
	background: url(../img/common/f_ico.jpg) no-repeat 0 50%;
}
footer .nav {
	color: #2e9dda;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.26em;
	margin: 45px 0 0;
	padding: 40px 40px 35px;
	background: #fff;
	border-radius: 5px;
}
footer .nav .nav01,
footer .nav .nav02,
footer .nav .nav03 {
	float: left;
}
footer .nav .nav02,
footer .nav .nav03 {
	margin-left: 40px;
}
footer .nav li {
	margin: 5px 0 0;
}
footer .nav li:first-child {
	margin: 0;
}
footer .nav li a {
	text-decoration: none;
}
footer .nav li a:hover {
	text-decoration: underline;
}
footer .copyright {
	text-align: center;
	letter-spacing: 0.14em;
	padding: 17px 0;
}
footer .copyright small {
	font-size: 12px;
	font-size: 1.2rem;
}

/* =========================================
  top page
========================================= */
.top-txt{
	text-align: center;
	font-size:2em;
	margin:50px auto 0;
	border-bottom:solid #3aa8e5 3px;
	display:inline-block;
}
@media screen and (max-width:768px) {
	.top-txt{
		text-align: center;
		font-size:1.1em;
		margin:50px auto 0;
	}
}
.top-page .mv {
	padding: 31% 0 0;
	background-position: 50% 100%;
	background-size: cover;
}
.top-page .mv .catch {
	text-align: center;
	margin-bottom: -1px;
	background: url(../img/top/catch_line.png) no-repeat 50% 100%;
}
.top-page .mv .catch .catch-sp {
	display: none;
}
.top-page main {
	padding: 0 0 175px;
}

/*  sec01
------------------------------------ */
.top-page .sec01 {
	padding: 124px 0 104px;
	background: url(../img/top/bg01.jpg) no-repeat 50% 100%;
	background-size: cover;
}
.top-page .sec01 .heading {
	color: #39a8e5;
	font-size: 34px;
	font-size: 3.4rem;
	text-align: center;
	letter-spacing: 0.18em;
	padding: 30px 0 0;
	background: url(../img/top/ico_message.png) no-repeat 50% 0;
}
.top-page .sec01 .txt {
	color: #4d4242;
	font-size: 20px;
	font-size: 2.0rem;
	text-align: center;
	letter-spacing: 0.18em;
	line-height: 1.7;
	max-width: 870px;
	margin: 0 auto;
}
.top-page .sec01 .txt p {
	margin: 35px 0 0;
}

/*  sec02
------------------------------------ */
.top-page .sec02 {
	padding: 44px 0 18px;
	background: url(../img/top/bg02.jpg) no-repeat 50% 0;
	background-size: cover;
}
.top-page .sec02 .heading {
	color: #39a8e5;
	font-size: 30px;
	font-size: 3.0rem;
	text-align: center;
	letter-spacing: 0.18em;
	padding: 20px 0 0;
	background: url(../img/top/ico_trouble.png) no-repeat 50% 0;
}
.top-page .sec02 .txt {
	text-align: center;
	margin: 80px 0 0;
}
.top-page .sec02 .lead {
	color: #39a8e5;
	font-size: 32px;
	font-size: 3.2rem;
	text-align: center;
	letter-spacing: 0.3em;
	line-height: 1.2;
	margin: 95px 0 0;
}
.top-page .sec02 .lead span {
	font-size: 50px;
	font-size: 5.0rem;
	letter-spacing: 0.08em;
	display: block;
}

/*  sec03
------------------------------------ */
.top-page .sec03 {
	overflow: hidden;
}
.top-page .sec03 .case-list > li:nth-child(odd) {
	background: #fcfbfb;
}
.top-page .sec03 .case-list .con {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
.top-page .sec03 .con::before {
	content: '';
	width: 930px;
	height: 520px;
	background: url(../img/top/img01.jpg) no-repeat 0 0;
	position: absolute;
	top: 0;
	left: 580px;
}
.top-page .sec03 .con p,
.top-page .sec03 .con div {
	position: relative;
	z-index: 1;
}
.top-page .sec03 .case-list .ttl {
	color: #39a8e5;
	font-size: 70px;
	font-size: 7.0rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	line-height: 1.1;
}
.top-page .sec03 .case-list .ttl span {
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: normal;
	letter-spacing: normal;
}
.top-page .sec03 .case-list .sub-ttl {
	color: #5c5353;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
}
.top-page .sec03 .case-list .txt {
	color: #4d4242;
	font-size: 18px;
	font-size: 1.8rem;
	margin: 15px 0 0;
}
.top-page .sec03 .case-list .btn {
	margin: 40px 0 0;
}
.top-page .sec03 .case-list .tag {
	width: 172px;
	float: left;
}
.top-page .sec03 .case-list .tag li {
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	margin: 0 0 3px;
	padding: 0 10px;
	background: #f0ac9f;
}
.top-page .sec03 .case-list .more {
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.18em;
	margin: 0 0 0 40px;
	float: left;
}
.top-page .sec03 .case-list .more a {
	text-decoration: none;
	padding: 18px 37px;
	display: block;
	background: #61b9ea;
	border-radius: 5px;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.top-page .sec03 .case-list .more a:hover {
	background: #4381a3;
}
.top-page .sec03 .case-list .more span {
	padding-left: 50px;
	background: url(../img/top/more_ico.png) no-repeat 0 50%;
}
.top-page .sec03 .plans .con::before {
	background: url(../img/top/img02.jpg) no-repeat 0 0;
}
.top-page .sec03 .consultation .con::before {
	background: url(../img/top/img03.jpg) no-repeat 0 0;
}
.top-page .sec03 .authorization .con::before {
	background: url(../img/top/img04.jpg) no-repeat 0 0;
}
.top-page .sec03 .inheritance .con {
	padding: 62px 0;
}
.top-page .sec03 .plans .con {
	padding: 64px 0;
}
.top-page .sec03 .consultation .con {
	padding: 77px 0;
}
.top-page .sec03 .authorization .con {
	padding: 116px 0;
}
.top-page .sec03 .case-list .plans .ttl span {
	margin-left: 180px
}
.top-page .sec03 .case-list .consultation .ttl span {
	margin-left: 90px;
}
.top-page .sec03 .case-list .inheritance .more {
	margin-top: 25px;
}

/*  sec04
------------------------------------ */
.top-page .sec04 {
	padding: 61px 0;
}
.top-page .sec04 .heading {
	color: #39a8e5;
	font-size: 28px;
	font-size: 2.8rem;
	text-align: center;
	letter-spacing: 0.18em;
	padding: 25px 0 0;
	background: url(../img/top/ico_contents.png) no-repeat 50% 0;
}
.top-page .sec04 ul {
	margin: 30px 0 0;
}
.top-page .sec04 li {
	color: #4f3c3c;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	width: 260px;
	margin: 0 0 0 20px;
	float: left;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.top-page .sec04 li:hover {
	color: #958a8a;
}
.top-page .sec04 li:first-child {
	margin-left: 0;
}
.top-page .sec04 li a {
	text-decoration: none;
}
.top-page .sec04 li .txt {
	line-height: 1.2;
	letter-spacing: 0.18em;
	margin: 10px 0 0;
}

/*  sec05
------------------------------------ */
.top-page .sec05 {
	background: url(../img/top/bg03.jpg) no-repeat 50% 0;
	background-size: cover;
}
.top-page .sec05 .filter {
	padding: 50px 0 75px;
	background: url(../img/top/filter.png) repeat 0 0;
}
.top-page .sec05 .section-inner {
	position: relative;
}
.top-page .sec05 .heading {
	color: #39a8e5;
	font-size: 28px;
	font-size: 2.8rem;
	text-align: center;
	letter-spacing: 0.18em;
	padding: 25px 0 0;
	background: url(../img/top/ico_blog.png) no-repeat 50% 0;
}
.top-page .sec05 .blog-list {
	width: 960px;
	margin: 30px auto 0;
}
.top-page .sec05 .blog-list li {
	margin: 10px 0 0;
}
.top-page .sec05 .blog-list li:first-child {
	margin: 0;
}
.top-page .sec05 .blog-list li a {
	text-decoration: none;
	padding: 17px 115px 17px 25px;
	display: block;
	background: #fff url(../img/top/arr_ico.png) no-repeat 98% 50%;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.top-page .sec05 .blog-list li a:hover {
	background-color: #e5e5e5;
}
.top-page .sec05 .blog-list .date {
	color: #ec9787;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
}
.top-page .sec05 .blog-list .ttl {
	color: #39a8e5;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 5px 0 0;
}
.top-page .sec05 .blog-list .txt {
	color: #484d42;
	min-height: 48px;
	margin: 5px 0 0;
}
.top-page .sec05 .more {
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: 0.18em;
	position: absolute;
	top: 40px;
	right: 70px;
}
.top-page .sec05 .more a {
	text-decoration: none;
	padding: 2px 14px 0;
	background: #39a8e5;
	border-radius: 5px;
	display: block;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.top-page .sec05 .more a:hover {
	background: #2775a0;
}

/*  sec06
------------------------------------ */
.top-page .sec06 {
	overflow: hidden;
	background: url(../img/top/bg04.jpg) repeat 0 0;
}
.top-page .sec06 .section-inner {
	padding: 85px 0;
	position: relative;
}
.top-page .sec06 .section-inner::after {
	content: '';
	width: 880px;
	height: 994px;
	background: url(../img/top/bg05.png) no-repeat 0 0;
	position: absolute;
	bottom: 0;
	right: -410px;
}
.top-page .sec06 .con {
	width: 760px;
	position: relative;
	z-index: 1;
}
.top-page .sec06 .lead {
	color: #ec9787;
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
}
.top-page .sec06 .tel {
	color: #06bdd0;
	font-size: 46px;
	font-size: 4.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.3em;
	margin: 25px 0 0;
}
.top-page .sec06 .tel .number {
	color: #f19343;
	font-size: 30px;
	font-size: 3.0rem;
	letter-spacing: 0.05em;
	display: block;
}
.top-page .sec06 .tel .number a {
	font-size: 34px;
	font-size: 3.4rem;
}
.top-page .sec06 .contact {
	text-align: center;
	margin: 30px 0 0;
}
.top-page .sec06 .contact li {
	color: #372a2a;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.18em;
	margin: 0 15px;
	display: inline-block;
}
.top-page .sec06 .contact li a {
	text-decoration: none;
	padding: 36px 28px 28px;
	display: block;
	background: #ffd16e;
	border-radius: 10px;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.top-page .sec06 .contact li a:hover {
	background: #b2924d;
}
.top-page .sec06 .contact .mail span {
	padding: 3px 0 3px 40px;
	background: url(../img/top/mail_ico.png) no-repeat 0 50%;
}
.top-page .sec06 .contact .web span {
	padding: 3px 0 3px 40px;
	background: url(../img/top/web_ico.png) no-repeat 0 50%;
}
.top-page .sec06 .txt {
	font-size: 18px;
	font-size: 1.8rem;
}
.top-page .sec06 .txt p {
	letter-spacing: 0.18em;
	margin: 30px 0 0;
}

/*  sec07
------------------------------------ */
.top-page .sec07 {
	padding: 63px 0 0;
}
.top-page .sec07 .youtube {
	width: 520px;
	height: 440px;
	float: left;
}
.top-page .sec07 .youtube iframe {
	width: 100%;
	height: 100%;
}
.top-page .sec07 .twitter {
	width: 520px;
	height: 440px;
	float: right;
	overflow-y: auto;
}
.top-page .sec07 .bnr {
	margin: 49px 0 0;
}
.top-page .sec07 .bnr li {
	margin: 0 0 0 25px;
	float: left;
}
.top-page .sec07 .bnr li:first-child {
	margin-left: 0;
}

/* =========================================
  sub page
========================================= */
.sub-page .sub-vis {
	padding: 195px 0;
	background: url(../img/common/sub_vis.jpg) no-repeat 50% 100%;
	background-size: cover;
}
.sub-page .sub-vis h2 {
	color: #ed9280;
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff;
	letter-spacing: 0.1em;
}
.sub-page main {
	letter-spacing: 0.05em;
	padding: 0 0 200px;
}
.sub-page .breadcrumb {
	margin: 20px 0 0;
}
.sub-page .breadcrumb li {
	color: #6a6a6a;
	font-size: 13px;
	font-size: 1.3rem;
	float: left;
}
.sub-page .breadcrumb li::before {
	content: '›';
	margin: 0 10px;
}
.sub-page .breadcrumb li:first-child::before {
	content: none;
}
.sub-page .contact-bnr {
	text-align: center;
	margin: 50px 0 0;
}
.sub-page .contact-bnr a {
	pointer-events: none;
}
.sub-page .contact-bnr a:hover img {
	opacity: 1;
}
.sub-page .cms-text {
	line-height: 1.8;
	margin: 30px 0 0;
}
.sub-page .cms-text strong {
	font-weight: bold;
}

/*  office page
------------------------------------ */
#office .contact-bnr {
	margin: 30px 0 0;
}
#office .gmap {
	height: 400px;
	margin: 40px 0 0;
}
#office .gmap iframe {
	width: 100%;
	height: 100%;
}

/*  life-plans page
------------------------------------ */
#life-plans .youtube {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding-top: 56.25%;
	position: relative;
}
#life-plans .youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}


/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  ページ名 page
------------------------------------ */

/*  blog page
------------------------------------ */
#blog .signature {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	margin: 60px 0 0;
}

/*  sitemap page
------------------------------------ */
#site .site-list {
	margin: 70px 0 0;
}
#site .site-list li {
	margin: 20px 0 0;
	border-bottom: solid 1px #ccc;
}
#site .site-list li a {
	text-decoration: none;
	display: block;
	padding: 8px 15px 8px 30px;
	background: url(../img/site/arr01.png) no-repeat 5px 50%;
	background-size: 12px auto;
}
#site .site-list li a:hover {
	color: #ed9280;
}

/* =========================================
  contact page
========================================= */
#contact .lead {
	margin: 50px 0 0;
}
#contact .lead a {
	color: #00f;
	text-decoration: none;
}
#contact .lead a:hover {
	text-decoration: underline;
}
#contact .contact-form-table {
	font-size: 14px;
	font-size: 1.4rem;
}
#contact .required-mark,
#contact .error-text {
	color: #f00;
	font-size: 13px;
	font-size: 1.3rem;
	vertical-align: top;
}
#contact .error-text {
	font-weight: 600;
}
#contact .address-text {
	color: #666;
	font-size: 12px;
	font-size: 1.2rem;
}
#contact .mt5 {
	margin-top: 5px;
}
#contact #pc01 {
	width: 100px;
}
#contact .contact-form-table label[for="agree"] {
	cursor: pointer;
}
#contact .submit-btn {
	font-size: 0;
	text-align: center;
}
#contact .submit-btn li {
	font-size: 15px;
	font-size: 1.5rem;
	background: #f0f0f0;
	margin: 30px 0 0 50px;
	border: solid 1px #ccc;
	display: inline-block;
	box-shadow: 1px 1px 0 #ddd;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
#contact .submit-btn li:first-child {
	margin-left: 0;
}
#contact .submit-btn li:hover {
	opacity: 0.7;
}
#contact .submit-btn input[type="submit"] {
	padding: 10px 25px;
	background: transparent;
	border: none;
}
#contact .contact-recaptcha-wrap {
	width: 300px;
	height: 78px;
	margin: 40px auto 0;
}
#contact .contact-recaptcha-wrap div,
#contact .contact-recaptcha-wrap iframe {
	height: 100%;
}


/************************************************

  SP layout

************************************************/
@media screen and (max-width: 1099px) {
/* =========================================
  base
========================================= */
	body {
		min-width: auto;
	}
	.section-inner {
		width: auto;
		padding: 0 10px;
	}
	.pc-none {
		display: inherit;
	}
	.sp-none {
		display: none;
	}
	.phone-number {
		text-decoration: underline;
		pointer-events: auto;
	}
	#contact-fixed {
		display: none;
	}
	#contact-fixed-sp {
		width: 100%;
		padding: 10px 0;
		background: rgba(0,0,0,0.6);
		position: fixed;
		bottom: 0;
		left: 0;
		display: block;
		z-index: 999;
	}
	#contact-fixed-sp ul {
		max-width: 400px;
		margin: 0 auto;
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		justify-content: space-around;
	}
	#contact-fixed-sp li {
		text-align: center;
	}
	#contact-fixed-sp li a {
		text-decoration: none;
	}
	#contact-fixed-sp .tel {
		color: #fff;
		font-size: 17px;
		font-size: 1.7rem;
		font-weight: bold;
		line-height: 33px;
		vertical-align: middle;
	}
	#contact-fixed-sp .tel span {
		padding-left: 20px;
		background: url(../img/common/f_tel_ico.png) no-repeat 0 50%;
		background-size: 16px;
	}
	#contact-fixed-sp .mail {
		color: #3dabe2;
		font-size: 13px;
		font-size: 1.3rem;
	}
	#contact-fixed-sp .mail a {
		padding: 5px 10px;
		background: #fff;
		border: solid 2px #3dabe2;
		display: inline-block;
	}
	#contact-fixed-sp .mail span {
		padding-left: 25px;
		background: url(../img/common/f_ico.jpg) no-repeat 0 50%;
		background-size: 20px auto;
	}

/*  heading
------------------------------------ */
	.head-type01 {
		font-size: 23px;
		font-size: 2.3rem;
		margin: 50px 0 0;
	}
	.head-type02 {
		font-size: 18px;
		font-size: 1.8rem;
		margin: 40px 0 0;
		padding: 6px 5px 3px;
	}
	.head-type03 {
		font-size: 18px;
		font-size: 1.8rem;
		padding: 0 5px 3px;
	}

/*  parts
------------------------------------ */
	.text-box {
		margin: 20px 0 0;
	}
	.table-box {
		border-bottom: solid 1px #61b9ea;
	}
	.table-box th,
	.table-box td {
		width: 100%;
		display: block;
		box-sizing: border-box;
	}
	.table-box td {
		border-bottom: 0;
	}
	.image-box .img-left,
	.image-box .img-right {
		text-align: center;
		float: none;
		margin: 0 auto 15px;
	}

/*  menu button
------------------------------------ */
	#menu-btn {
		display: block;
		position: fixed;
		top: 22px;
		right: 10px;
		height: 35px;
		width: 45px;
		z-index: 999;
		-webkit-transition: opacity .25s ease;
		transition: opacity .25s ease;
		cursor: pointer;
	}
	#menu-btn.active .top {
		-webkit-transform: translateY(16px) translateX(0) rotate(45deg);
		transform: translateY(16px) translateX(0) rotate(45deg);
	}
	#menu-btn.active .middle {
		opacity: 0;
	}
	#menu-btn.active .bottom {
		-webkit-transform: translateY(-14px) translateX(0) rotate(-45deg);
		transform: translateY(-14px) translateX(0) rotate(-45deg);
	}
	#menu-btn span {
		background: #61b9ea;
		border: none;
		height: 4px;
		width: 100%;
		border-radius: 3px;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
	}
	#menu-btn span:nth-of-type(2) {
		top: 15px;
	}
	#menu-btn span:nth-of-type(3) {
		top: 30px;
	}

/*  pagenation
------------------------------------ */
	.pagenation {
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		justify-content: center;
	}

/*  2column layout
------------------------------------ */
	.container .mainContents {
		width: auto;
		float: none;
	}
	.container .sideContents {
		margin-top: 40px;
		width: auto;
		float: none;
	}

/*  article
------------------------------------ */
	.article .ttl {
		font-size: 20px;
		font-size: 2.0rem;
	}
	.article .txt {
		max-height: 63px;
	}
	.article .txt span {
		font-size: 14px!important;
		font-size: 1.4rem!important;
	}

/*  pagetop button
------------------------------------ */
	#pagetop {
		bottom: 6%;
		right: 2%;
	}
	#pagetop a {
		width: 40px;
		height: 40px;
	}

/* =========================================
  header
========================================= */
	header {
		padding: 79px 0 0;
	}
	header .header-inner {
		padding: 5px 15px;
		border-width: 3px;
		box-sizing: border-box;
	}
	header .header-frame {
		width: auto;
	}
	header #logo {
		width: 65px;
		height: auto;
		margin: 0;
		position: static;
	}
	header #logo::after {
		content: none;
	}

/*  nav
------------------------------------ */
	nav {
		display: none;
		margin: 10px 0 0;
	}
	nav .nav01,
	nav .nav02 {
		float: none;
	}
	nav .nav01 li,
	nav .nav02 li {
		margin: 0;
	}
	nav li {
		float: none;
	}
	nav li a {
		padding: 15px 0 15px 60px;
		background-position: 10px 50%!important;
		background-size: auto 25px!important;
		border-bottom: dashed 1px #61b9ea;
	}
	nav .nav02 li:last-child a {
		border-bottom: 0;
	}
	nav li a:hover {
		opacity: 1;
	}

/* =========================================
  footer
========================================= */
	footer {
		padding: 110px 0 0;
	}
	footer .footer-inner {
		width: auto;
	}
	footer .f-info {
		padding: 0 10px;
	}
	footer .logo {
		width: 120px;
		top: -145px;
		left: 10px;
	}
	footer .add {
		font-size: 20px;
		font-size: 2.0rem;
		max-width: 300px;
		margin: 0 auto;
		float: none;
	}
	footer .f-contact {
		width: 300px;
		margin: 20px auto 0;
		float: none;
	}
	footer .f-contact .tel {
		font-size: 20px;
		font-size: 2.0rem;
		text-align: left;
		line-height: 1.4;
	}
	footer .f-contact .tel a {
		font-size: 25px;
		font-size: 2.5rem;
	}
	footer .f-contact .mail {
		font-size: 18px;
		font-size: 1.8rem;
		margin: 20px 0 0;
	}
	footer .nav {
		font-size: 12px;
		font-size: 1.2rem;
		letter-spacing: normal;
		margin: 30px 0 0;
		padding: 0;
		border-radius: 0;
	}
	footer .nav .nav01,
	footer .nav .nav02,
	footer .nav .nav03 {
		margin: 0;
		float: none;
	}
	footer .nav li {
		text-align: center;
		margin: 0;
		width: 50%;
		float: left;
	}
	footer .nav li a {
		padding: 15px 2px;
		display: block;
		border-bottom: solid 1px #39a8e5;
	}
	footer .nav .nav01 li:nth-child(odd) a,
	footer .nav .nav02 li:nth-child(even) a,
	footer .nav .nav03 li:nth-child(odd) a {
		border-right: solid 1px #39a8e5;
	}
	footer .copyright {
		letter-spacing: normal;
		padding: 5px 0 55px;
	}
	footer .copyright span {
		display: inline-block;
	}

/* =========================================
  top page
========================================= */
	.top-page .mv {
		padding: 160px 0 0;
	}
	.top-page main {
		padding: 0 0 80px;
	}

/*  sec01
------------------------------------ */
	.top-page .sec01 {
		padding: 60px 0 40px;
	}
	.top-page .sec01 .heading {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec01 .txt {
		font-size: 15px;
		font-size: 1.5rem;
		text-align: justify;
	}
	.top-page .sec01 .txt p {
		margin: 20px 0 0;
	}

/*  sec02
------------------------------------ */
	.top-page .sec02 {
		padding: 40px 0 20px;
		background-position: 65% 100%;
	}
	.top-page .sec02 .heading {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec02 .txt {
		margin: 50px 0 0;
	}
	.top-page .sec02 .txt img {
		filter: drop-shadow(1px 1px 1px #fff);
	}
	.top-page .sec02 .lead {
		font-size: 23px;
		font-size: 2.3rem;
		margin: 80px 0 0;
	}
	.top-page .sec02 .lead span {
		font-size: 30px;
		font-size: 3.0rem;
	}

/*  sec03
------------------------------------ */
	.top-page .sec03 .case-list .con {
		width: auto;
		max-width: 930px;
		margin: 0 auto;
		padding: 0 0 30px;
	}
	.top-page .sec03 .con::before {
		width: auto;
		height: auto;
		padding-top: 55.9139%;
		background-size: contain!important;
		display: block;
		position: static;
	}
	.top-page .sec03 .case-list .ttl {
		font-size: 30px;
		font-size: 3.0rem;
		margin: 20px 0 0;
		padding: 0 10px;
	}
	.top-page .sec03 .case-list .ttl span {
		font-size: 18px;
		font-size: 1.8rem;
		display: block;
	}
	.top-page .sec03 .case-list .plans .ttl span,
	.top-page .sec03 .case-list .consultation .ttl span {
		margin-left: 0;
	}
	.top-page .sec03 .case-list .sub-ttl {
		font-size: 18px;
		font-size: 1.8rem;
		margin: 15px 0 0;
		padding: 0 10px;
	}
	.top-page .sec03 .case-list .txt {
		font-size: 15px;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		margin: 15px 0 0;
		padding: 0 10px;
	}
	.top-page .sec03 .case-list .btn {
		margin: 10px 0 0;
		padding: 0 10px;
	}
	.top-page .sec03 .case-list .tag {
		float: none;
	}
	.top-page .sec03 .case-list .tag li {
		font-size: 15px;
		font-size: 1.5rem;
		padding: 3px 10px 1px;
	}
	.top-page .sec03 .case-list .more {
		font-size: 15px;
		font-size: 1.5rem;
		text-align: center;
		width: 280px;
		margin: 30px auto 0;
		float: none;
	}
	.top-page .sec03 .case-list .more a {
		padding: 14px 0;
	}

/*  sec04
------------------------------------ */
	.top-page .sec04 {
		padding: 40px 0;
	}
	.top-page .sec04 .heading {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec04 ul {
		max-width: 600px;
		margin: 0 auto;
	}
	.top-page .sec04 li {
		font-size: 15px;
		font-size: 1.5rem;
		margin: 30px 0 0;
	}
	.top-page .sec04 li:nth-child(even) {
		float: right;
	}
	.top-page .sec04 li .txt {
		min-height: 54px;
	}

/*  sec05
------------------------------------ */
	.top-page .sec05 .filter {
		padding: 40px 0;
	}
	.top-page .sec05 .heading {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec05 .blog-list {
		width: auto;
	}
	.top-page .sec05 .blog-list li a {
		padding: 15px 35px 15px 10px;
	}
	.top-page .sec05 .blog-list .ttl {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.top-page .sec05 .blog-list .txt {
		font-size: 14px;
		font-size: 1.4rem;
		min-height: auto;
	}
	.top-page .sec05 .more {
		width: 250px;
		margin: 30px auto 0;
		position: static;
	}
	.top-page .sec05 .more a {
		padding: 15px;
	}

/*  sec06
------------------------------------ */
	.top-page .sec06 .section-inner {
		padding: 40px 10px;
	}
	.top-page .sec06 .section-inner::after {
		content: none;
	}
	.top-page .sec06 .con {
		width: auto;
	}
	.top-page .sec06 .lead {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec06 .tel {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec06 .tel .number {
		font-size: 20px;
		font-size: 2.0rem;
	}
	.top-page .sec06 .tel .number a {
		font-size: 25px;
		font-size: 2.5rem;
	}
	.top-page .sec06 .contact {
		margin: 20px 0 0;
	}
	.top-page .sec06 .contact li {
		font-size: 16px;
		font-size: 1.6rem;
		width: 250px;
		margin: 10px;
	}
	.top-page .sec06 .contact li a {
		padding: 27px 0 24px;
	}
	.top-page .sec06 .txt {
		font-size: 15px;
		font-size: 1.5rem;
	}
	.top-page .sec06 .txt p {
		letter-spacing: 0.1em;
		margin: 20px 0 0;
	}

/*  sec07
------------------------------------ */
	.top-page .sec07 {
		padding: 40 0 0;
	}
	.top-page .sec07 .youtube {
		width: 300px;
		height: 254px;
		margin: 0 auto;
		float: none;
	}
	.top-page .sec07 .twitter {
		width: 300px;
		height: 300px;
		margin: 30px auto 0;
		float: none;
		overflow-y: auto;
	}

	.top-page .sec07 .bnr {
		margin: 40px 0 0;
	}
	.top-page .sec07 .bnr li {
		text-align: center;
		margin: 20px 0 0;
		float: none;
	}
	.top-page .sec07 .bnr li:first-child {
		margin-top: 0;
	}

/* =========================================
  sub page
========================================= */
	.sub-page .sub-vis {
		padding: 70px 0;
	}
	.sub-page .sub-vis h2 {
		font-size: 26px;
		font-size: 2.6rem;
	}
	.sub-page main {
		font-size: 14px;
		font-size: 1.4rem;
		padding: 0 0 100px;
	}
	.sub-page .breadcrumb li::before {
		margin: 0 5px;
	}
	.sub-page .contact-bnr a {
		pointer-events: auto;
	}
	.sub-page .cms-text {
		margin: 20px 0 0;
	}

/*  office page
------------------------------------ */
	#office .gmap {
		height: 350px;
	}
	#office .office-address {
		white-space: pre-line;
	}

/*  blog page
------------------------------------ */
	#blog .signature {
		font-size: 13px;
		font-size: 1.3rem;
	}

/* =========================================
  contact page
========================================= */
	#contact .contact-form-table input[type="text"],
	#contact .contact-form-table input[type="num"],
	#contact .contact-form-table textarea {
		width: 100%;
		box-sizing: border-box;
	}
	#contact .submit-btn {
		max-width: 600px;
		margin: 0 auto;
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	#contact .submit-btn li {
		font-size: 14px;
		font-size: 1.4rem;
		margin: 30px 10px 0;
	}
	#contact .submit-btn li:first-child {
		margin-left: 10px;
	}
	#contact .submit-btn input[type="submit"] {
		padding: 10px;
	}
}


/************************************************

  breakpoints

************************************************/
@media screen and (max-width: 799px) {}
@media screen and (max-width: 599px) {
	.top-page .mv .catch .catch-pc {
		display: none;
	}
	.top-page .mv .catch .catch-sp {
		width: 100%;
		display: block;
	}
}
@media screen and (max-width: 569px) {
	.top-page .sec04 li,
	.top-page .sec04 li:nth-child(even) {
		width: 260px;
		margin: 30px auto 0;
		float: none;
	}
	.top-page .sec04 li:first-child {
		margin-left: auto;
	}
	.top-page .sec04 li .txt {
		min-height: auto;
	}
}