 @charset "utf-8";

 /* -----------------------------------------------------------------
  MODULE CSS
  LAST UPDATE:
--------------------------------------------------------------------*/


 /*=================================
  clearfix
===================================*/
 .clearfix:after {
 	content: ".";
 	display: block;
 	clear: both;
 	height: 0;
 	visibility: hidden;
 }

 .clearfix {
 	min-height: 1px;
 }

 * html .clearfix {
 	height: 1px;
 	/*¥*/
 	/*/
  height: auto;
  overflow: hidden;
  /**/
 }

 /*=================================
  margin
===================================*/
 .mb0 {
 	margin-bottom: 0px !important;
 }

 .mb5 {
 	margin-bottom: 5px !important;
 }

 .mb10 {
 	margin-bottom: 10px !important;
 }

 .mb15 {
 	margin-bottom: 15px !important;
 }

 .mb20 {
 	margin-bottom: 20px !important;
 }

 .mb25 {
 	margin-bottom: 25px !important;
 }

 .mb30 {
 	margin-bottom: 30px !important;
 }

 .mb35 {
 	margin-bottom: 35px !important;
 }

 .mb40 {
 	margin-bottom: 40px !important;
 }

 .mb45 {
 	margin-bottom: 45px !important;
 }

 .mb50 {
 	margin-bottom: 50px !important;
 }

 .mt0 {
 	margin-top: 0px !important;
 }

 .mt5 {
 	margin-top: 5px !important;
 }

 .mt10 {
 	margin-top: 10px !important;
 }

 .mt15 {
 	margin-top: 15px !important;
 }

 .mt20 {
 	margin-top: 20px !important;
 }

 .mt25 {
 	margin-top: 25px !important;
 }

 .mt30 {
 	margin-top: 30px !important;
 }

 .mt35 {
 	margin-top: 35px !important;
 }

 .mt40 {
 	margin-top: 40px !important;
 }

 .mt45 {
 	margin-top: 45px !important;
 }

 .mt50 {
 	margin-top: 50px !important;
 }

 .ml0 {
 	margin-left: 0px !important;
 }

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

 .ml10 {
 	margin-left: 10px !important;
 }

 .ml15 {
 	margin-left: 15px !important;
 }

 .ml20 {
 	margin-left: 20px !important;
 }

 .ml25 {
 	margin-left: 25px !important;
 }

 .ml30 {
 	margin-left: 30px !important;
 }

 .ml35 {
 	margin-left: 35px !important;
 }

 .ml40 {
 	margin-left: 40px !important;
 }

 .ml45 {
 	margin-left: 45px !important;
 }

 .ml50 {
 	margin-left: 50px !important;
 }

 .mr0 {
 	margin-right: 0px !important;
 }

 .mr5 {
 	margin-right: 5px !important;
 }

 .mr10 {
 	margin-right: 10px !important;
 }

 .mr15 {
 	margin-right: 15px !important;
 }

 .mr20 {
 	margin-right: 20px !important;
 }

 .mr25 {
 	margin-right: 25px !important;
 }

 .mr30 {
 	margin-right: 30px !important;
 }

 .mr35 {
 	margin-right: 35px !important;
 }

 .mr40 {
 	margin-right: 40px !important;
 }

 .mr45 {
 	margin-right: 45px !important;
 }

 .mr50 {
 	margin-right: 50px !important;
 }

 /*=================================
  fig
===================================*/
 .figL {
 	float: left;
 }

 .figR {
 	float: right;
 }

 .clear {
 	clear: both;
 }

 .layoutC {
 	text-align: center !important;
 }

 .layoutR {
 	text-align: right !important;
 }

 .layoutL {
 	text-align: left !important;
 }

 /*=================================
  2-colomn
===================================*/

 .col2-wrap {
 	overflow: hidden;
 	margin: 0 -40px;
 }

 .col2-wrap li {
 	float: left;
 	background: #fff;
 	width: 470px;
 	margin: 20px 40px;
 }

 .col2-wrap li a {
 	display: block;
 	color: #707070;
 	border: solid 1px #d7d7d7;
 	position: relative;
 }

 .col2-wrap li a:hover {
 	text-decoration: none;
 }

 .col2-wrap li span {
 	display: block;
 }

 .col2-wrap li .thumb img {
 	width: 100%;
 	height: auto;
 }

 .col2-wrap li .ttl {
 	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
 	font-size: 2rem;
 	color: #1eb9ee;
 	text-align: center;
 	padding: 30px 26px 20px;
 	font-weight: bold;
 }

 .col2-wrap li .ttl:after {
 	content: "";
 	display: block;
 	width: 80px;
 	margin: 20px auto 0;
 	border-bottom: solid 1px #1eb9ee;
 }

 .col2-wrap li .txt {
 	font-size: 1.4rem;
 	padding: 0 26px 45px;
 	position: relative;
 	text-align: center;
 	line-height: 1.85;
 	letter-spacing: -0.06rem;
 }

 .col2-wrap li a:after {
 	content: "";
 	position: absolute;
 	right: 0;
 	bottom: 0;
 	width: 0;
 	height: 0;
 	border-style: solid;
 	border-width: 0 0 18px 18px;
 	border-color: transparent transparent #1ebaee transparent;
 }

 .col2-wrap li a:hover .ttl {
 	color: #fc7397;
 }

 .col2-wrap li a:hover .ttl:after {
 	content: "";
 	display: block;
 	width: 80px;
 	margin: 20px auto 0;
 	border-bottom: solid 1px #fc7397;
 }

 .col2-wrap li a:hover:after {
 	content: "";
 	position: absolute;
 	right: 0;
 	bottom: 0;
 	width: 0;
 	height: 0;
 	border-style: solid;
 	border-width: 0 0 18px 18px;
 	border-color: transparent transparent #fc7397 transparent;
 }

 .col2-wrap.list-service {
 	margin: 0 -30px -30px;
 }

 .col2-wrap.list-service li {
 	width: 480px;
 	margin: 30px;
 }

 /*=================================
  3-colomn
===================================*/

 .col3-wrap {
 	overflow: hidden;
 	margin: 0 -15px;
 }

 .col3-wrap li {
 	float: left;
 	background: #fff;
 	width: 320px;
 	margin: 20px 15px;
 }

 .col3-wrap li a {
 	display: block;
 	color: #707070;
 	border: solid 1px #d7d7d7;
 	position: relative;
 }

 .col3-wrap li a:hover {
 	text-decoration: none;
 }

 .col3-wrap li span {
 	display: block;
 }

 .col3-wrap li .thumb img {
 	width: 100%;
 	height: auto;
 }

 .col3-wrap li .ttl {
 	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
 	font-size: 1.8rem;
 	color: #1eb9ee;
 	text-align: center;
 	padding: 30px 21px 20px;
 	font-weight: bold;
 }

 .col3-wrap li .ttl:after {
 	content: "";
 	display: block;
 	width: 80px;
 	margin: 20px auto 0;
 	border-bottom: solid 1px #1eb9ee;
 }

 .col3-wrap li .txt {
 	font-size: 1.4rem;
 	padding: 0 26px 45px;
 	text-align: center;
 	line-height: 1.85;
 }

 .col3-wrap li a:after {
 	content: "";
 	position: absolute;
 	right: 0;
 	bottom: 0;
 	width: 0;
 	height: 0;
 	border-style: solid;
 	border-width: 0 0 18px 18px;
 	border-color: transparent transparent #1ebaee transparent;
 }

 .col3-wrap li a:hover .ttl {
 	color: #fc7397;
 }

 .col3-wrap li a:hover .ttl:after {
 	content: "";
 	display: block;
 	width: 80px;
 	margin: 20px auto 0;
 	border-bottom: solid 1px #fc7397;
 }

 .col3-wrap li a:hover:after {
 	content: "";
 	position: absolute;
 	right: 0;
 	bottom: 0;
 	width: 0;
 	height: 0;
 	border-style: solid;
 	border-width: 0 0 18px 18px;
 	border-color: transparent transparent #fc7397 transparent;
 }

 .col3-wrap.list-service {
 	clear: both;
 	margin-top: 15px;
 }

 .col3-wrap.list-service li .thumb img {
 	width: auto;
 	height: auto;
 	max-width: 100%;
 	max-height: 234px;
 	margin: 0 auto;
 	display: block;
 }

 .col3-wrap.list-service li .txt {
 	padding-bottom: 25px;
 }


 @media screen and (max-width: 768px) {
 	/* 768px以下用（タブレット／スマートフォン用）の記述 */

 	.col3-wrap,
 	.col2-wrap,
 	.col2-wrap.list-service {
 		margin: 0;
 	}

 	.col3-wrap li,
 	.col2-wrap li,
 	.col2-wrap.list-service li {
 		float: none;
 		width: 100%;
 		margin: 20px 0 0;
 	}

 	.col3-wrap li:first-child,
 	.col2-wrap li:first-child {
 		margin-top: 0;
 	}

 	.col3-wrap li .ttl,
 	.col2-wrap li .ttl {
 		font-size: 1.5rem;
 		padding: 15px 15px 10px;
 	}

 	.col3-wrap li .ttl:after,
 	.col2-wrap li .ttl:after,
 	.col3-wrap li a:hover .ttl:after,
 	.col2-wrap li a:hover .ttl:after {
 		margin: 10px auto 0;
 	}

 	.col3-wrap li .txt,
 	.col2-wrap li .txt {
 		font-size: 1.2rem;
 		padding: 0 15px 20px;
 		letter-spacing: inherit;
 	}

 	.col3-wrap.list-service {
 		margin: 0 -8px;
 	}

 	.col3-wrap.list-service li {
 		float: left;
 		width: 50%;
 		padding: 8px;
 		margin: 0;
 	}

 	.col3-wrap.list-service li .ttl {
 		font-size: 1.2rem;
 	}

 	.col3-wrap.list-service li .ttl:after,
 	.col3-wrap.list-service li a:hover .ttl:after {
 		content: none;
 	}

 	.col3-wrap.list-service li .txt {
 		font-size: 1rem;
 		position: relative;
 	}

 	.col3-wrap.list-service li .txt:before {
 		content: "";
 		display: block;
 		width: 80px;
 		margin: 0 auto 10px;
 		border-bottom: solid 1px #1eb9ee;
 	}

 	.col3-wrap.list-service li a:hover .txt:before {
 		border-bottom: solid 1px #fc7397;
 	}
 }


 /*=================================
  4-colomn top
===================================*/

 .col4-wrap-top {
 	/*overflow: hidden;
 	float: left;*/
 	display: flex;
 	width: 100%;
 	justify-content: center;
 }

 .col4-wrap-top li {
 	/*float: left;*/
 	background: #fff;
 	/*width: 320px;*/
 	margin: 20px 5px;
 	width: 24%;
 	border: solid 1px #d7d7d7;
 	position: relative;
 }

 .col4-wrap-top li a {
 	display: block;
 	color: #707070;
 	/*border: solid 1px #d7d7d7;*/
 	position: relative;
 }

 .col4-wrap-top li a:hover {
 	text-decoration: none;
 }

 .col4-wrap-top li span {
 	display: block;
 }

 .col4-wrap-top li .thumb img {
 	width: 100%;
 	height: auto;
 }

 .col4-wrap-top li .ttl {
 	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
 	font-size: 1.8rem;
 	color: #1eb9ee;
 	text-align: center;
 	padding: 30px 21px 20px;
 	font-weight: bold;
 }

 .col4-wrap-top li .ttl:after {
 	content: "";
 	display: block;
 	width: 80px;
 	margin: 20px auto 0;
 	border-bottom: solid 1px #1eb9ee;
 }

 .col4-wrap-top li .txt {
 	font-size: 1.4rem;
 	padding: 0 26px 45px;
 	text-align: center;
 	line-height: 1.85;
 }

 .col4-wrap-top li:after {
 	content: "";
 	position: absolute;
 	right: 0;
 	bottom: 0;
 	width: 0;
 	height: 0;
 	border-style: solid;
 	border-width: 0 0 18px 18px;
 	border-color: transparent transparent #1ebaee transparent;
 }

 .col4-wrap-top li a:hover .ttl {
 	color: #fc7397;
 }

 .col4-wrap-top li a:hover .ttl:after {
 	content: "";
 	display: block;
 	width: 80px;
 	margin: 20px auto 0;
 	border-bottom: solid 1px #fc7397;
 }

 .col4-wrap-top li:hover:after {
 	content: "";
 	position: absolute;
 	right: 0;
 	bottom: 0;
 	width: 0;
 	height: 0;
 	border-style: solid;
 	border-width: 0 0 18px 18px;
 	border-color: transparent transparent #fc7397 transparent;
 }

 .col4-wrap-top.list-service {
 	clear: both;
 	margin-top: 15px;
 }

 .col4-wrap-top.list-service li .thumb img {
 	width: auto;
 	height: auto;
 	max-width: 100%;
 	max-height: 234px;
 	margin: 0 auto;
 	display: block;
 }

 .col4-wrap-top.list-service li .txt {
 	padding-bottom: 25px;
 }


 @media screen and (max-width: 768px) {
 	/* 768px以下用（タブレット／スマートフォン用）の記述 */

 	.col4-wrap-top,
 	.col2-wrap,
 	.col2-wrap.list-service {
 		margin: 0;
 	}

 	.col4-wrap-top {
 		flex-wrap: wrap;
 		width: 100%;
 		margin: 0 0 20px;
 	}

 	.col4-wrap-top li,
 	.col2-wrap li,
 	.col2-wrap.list-service li {
 		float: none;
 		width: 100%;
 		margin: 20px 0 0;
 	}

 	.col4-wrap-top li:first-child,
 	.col2-wrap li:first-child {
 		margin-top: 0;
 	}

 	.col4-wrap-top li .ttl,
 	.col2-wrap li .ttl {
 		font-size: 1.5rem;
 		padding: 15px 15px 10px;
 	}

 	.col4-wrap-top li .ttl:after,
 	.col2-wrap li .ttl:after,
 	.col4-wrap-top li a:hover .ttl:after,
 	.col2-wrap li a:hover .ttl:after {
 		margin: 10px auto 0;
 	}

 	.col4-wrap-top li .txt,
 	.col2-wrap li .txt {
 		font-size: 1.2rem;
 		padding: 0 15px 20px;
 		letter-spacing: inherit;
 	}

 	.col4-wrap-top.list-service {
 		margin: 0 -8px;
 	}

 	.col4-wrap-top.list-service li {
 		float: left;
 		width: 50%;
 		padding: 8px;
 		margin: 0;
 	}

 	.col4-wrap-top.list-service li .ttl {
 		font-size: 1.2rem;
 	}

 	.col4-wrap-top.list-service li .ttl:after,
 	.col4-wrap-top.list-service li a:hover .ttl:after {
 		content: none;
 	}

 	.col4-wrap-top.list-service li .txt {
 		font-size: 1rem;
 		position: relative;
 	}

 	.col4-wrap-top.list-service li .txt:before {
 		content: "";
 		display: block;
 		width: 80px;
 		margin: 0 auto 10px;
 		border-bottom: solid 1px #1eb9ee;
 	}

 	.col4-wrap-top.list-service li a:hover .txt:before {
 		border-bottom: solid 1px #fc7397;
 	}
 }

 /*================================
table
=================================*/

 .contents-main-in table {
 	width: 100%;
 }

 .contents-main-in table + table {
 	margin-top: 20px;
 }

 .contents-main-in table tr {
 	font-size: 1.4rem;
 	min-height: 56px;
 }

 .contents-main-in table tr th {
 	background: #fafafa;
 	border: solid 1px #c8c8c8;
 	padding: 17px 20px;
 	width: 250px;
 	vertical-align: middle;
 }

 .contents-main-in table tr td {
 	border: solid 1px #c8c8c8;
 	overflow: hidden;
 	word-break: break-all;
 	padding: 20px 0 20px 20px;
 	color: #707070;
 }

 .contents-main-in table tr td p {
 	margin-top: 15px;
 	line-height: 1.71;
 }

 .contents-main-in table tr td p:first-child {
 	margin-top: 0;
 }

 .contents-main-in table tr td p strong {
 	font-weight: bold;
 }


 .contents-main-in .img-service-wrap .img-service {
 	overflow: hidden;
 	margin: 34px -22px 89px;
 }

 .contents-main-in .img-service-wrap .img-service li {
 	float: left;
 	width: 308px;
 	margin: 0 22px;
 }

 .contents-main-in .img-service-wrap .img-service li img {
 	width: 100%;
 	height: auto;
 }

 .contents-main-in .img-service-wrap .img-service li span {
 	display: block;
 	font-size: 1.4rem;
 	color: #707070;
 	line-height: 1.71;
 	margin-top: 14px;
 }

 @media screen and (max-width: 768px) {
 	/* 768px以下用（タブレット／スマートフォン用）の記述 */

 	.contents-main-in table,
 	.contents-main-in table tbody,
 	.contents-main-in table tr,
 	.contents-main-in table tr th,
 	.contents-main-in table tr td {
 		display: block;
 		width: 100%;
 		border-color: #aaa;
 	}

 	.contents-main-in table {
 		margin-top: 20px;
 		border-bottom: 1px solid #aaa;
 	}

 	.contents-main-in table tr th {
 		background: #f0f0f0;
 	}

 	.contents-main-in table tr th,
 	.contents-main-in table tr td {
 		font-size: 1.2rem;
 		padding: 12px 15px;
 		border-bottom: none;
 	}

 	.contents-main-in .img-service-wrap {
 		width: 100%;
 		margin-bottom: 10px;
 		overflow: hidden;
 	}

 	.contents-main-in .img-service-wrap .img-service {
 		margin: 0;
 		width: 100%;
 		float: none;
 		position: relative;
 	}

 	.contents-main-in .img-service-wrap .slick-list {
 		padding: 0 !important;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-slide {
 		width: 200px;
 		height: auto;
 		margin: 0 10px;
 		padding: 0;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-slide:focus {
 		outline: none;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-slide img {
 		width: 100%;
 		height: auto;
 		padding: 0 23px;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-slide span {
 		font-size: 1.2rem;
 		line-height: 1.5;
 		padding: 0;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-dots {
 		text-align: center;
 		margin-top: 8px;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-dots li {
 		display: inline-block;
 		float: none;
 		width: auto;
 		margin: 0 4px
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-dots li button {
 		cursor: pointer;
 		width: 13px;
 		height: 13px;
 		background: url(/member/img/btn_top_slider_01.png)no-repeat;
 		background-size: 13px 13px;
 		border: none;
 		text-indent: -9999px;
 		overflow: hidden;
 		padding: 0;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-dots li.slick-active button,
 	.contents-main-in .img-service-wrap .img-service .slick-dots li.slick-active button:hover {
 		background: url(/member/img/btn_top_slider_01_cr.png)no-repeat;
 		background-size: 13px 13px;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-dots li button:hover {
 		background: url(/member/img/btn_top_slider_01.png)no-repeat;
 		background-size: 13px 13px;
 	}

 	.contents-main-in .img-service-wrap .img-service .slick-dots li button:focus {
 		outline: none;
 	}
 }
