@charset "UTF-8";



/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	height: 100vh;
}
.m_img_area .m_img {
	position: relative;
	opacity: 0;
	transition: opacity 0.4s ease-out;
}
.m_img_area.anime_on .m_img {
	opacity: 1;
}
.m_img_area .m_slider {
	position: relative;
	z-index: 0;
}
.m_img_area .m_slider .swiper-slide {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	height: 100vh;
}
.m_img_area .m_slider .slide1 {background-image: url("../images/top/m_img1@2x.jpg");}
.m_img_area .m_slider .slide2 {background-image: url("../images/top/m_img2@2x.jpg");}
.m_img_area .m_slider .slide3 {background-image: url("../images/top/m_img3@2x.jpg");}

.m_img_area .m_copy1 {
	position: absolute;
	z-index: 3;
}
.m_img_area .m_copy2 {
	position: absolute;
	z-index: 2;
}
.m_img_area .m_copy3 {
	position: absolute;
	z-index: 1;
}

.m_img_area .m_copy1 {
	left: 8%;
	top: 50%;
	transform: translateY(-82%);
	width: 40%;
	max-width: 600px;
	display: flex;
    justify-content: space-between;
}
.m_img_area .m_copy1 div {
	width: 50%;
}
.m_img_area .m_copy1 path.txt_stroke {
	fill: none;
	stroke-width: 1.37px;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.m_img_area .m_copy1 .color1 path.cls-4 {fill: #138575;}
.m_img_area .m_copy1 .color1 path.txt_stroke {stroke: #138575;}
.m_img_area .m_copy1 .color2 path.cls-3 {fill: #9c567f;}
.m_img_area .m_copy1 .color2 path.txt_stroke {stroke: #9c567f;}

.m_img_area .m_copy1 .color1 path.txt_stroke.stroke1 {
	stroke-dasharray: 80px;
	stroke-dashoffset: 80px;
}
.m_img_area .m_copy1 .color1 path.txt_stroke.stroke2 {
	stroke-dasharray: 120px;
	stroke-dashoffset: 120px;
}
.m_img_area .m_copy1 .color2 path.txt_stroke.stroke1 {
	stroke-dasharray: 100px;
	stroke-dashoffset: 100px;
}
.m_img_area .m_copy1 .color2 path.txt_stroke.stroke2 {
	stroke-dasharray: 240px;
	stroke-dashoffset: 240px;
}

/*表示アニメーション*/
.m_img_area .m_copy1 div {
	opacity: 0;
	transition: opacity 1.2s ease-out;
}
.m_img_area.anime_on .m_copy1 div {
	opacity: 1;
}
.m_img_area .m_copy1 div.color1 {
	transition-delay: 0.2s;
}
.m_img_area.anime_on .m_copy1 .color1 path.txt_stroke.stroke1 {
	animation: stroke1_1 0.3s 0.4s linear forwards;	/* delay = div.color1 + 0.2s */
}
.m_img_area.anime_on .m_copy1 .color1 path.txt_stroke.stroke2 {
	animation: stroke1_2 0.5s 0.7s ease-out forwards;	/* delay = .stroke1の duration + delay */
}
.m_img_area .m_copy1 div.color2 {
	transition-delay: 1.2s;
}
.m_img_area.anime_on .m_copy1 .color2 path.txt_stroke.stroke1 {
	animation: stroke2_1 0.4s 1.4s linear forwards;	/* delay = div.color2 + 0.2s */
}
.m_img_area.anime_on .m_copy1 .color2 path.txt_stroke.stroke2 {
	animation: stroke2_2 1.2s 1.8s ease-out forwards;	/* delay = .stroke1の duration + delay */
}

.m_img_area .m_copy2 {
	right: 5%;
	top: 9%;
	writing-mode: vertical-rl;
	text-orientation: upright;
	margin: auto;
	text-align: left;
	color: #138575;
	font-size: min(95%,1.5vw);
	letter-spacing: .4em;
	line-height: 3.1em;
}

.m_img_area .m_copy3 {
	right: 15%;
	bottom: 11%;
	width: 30%;
	max-width: 400px;
}
.m_img_area .m_copy3 span {
	display: block;
	animation: rotate 80s infinite linear;
}

/*アニメーション*/
@keyframes stroke1_1 {
	0% {stroke-dashoffset: 80px;}
	100% {stroke-dashoffset: 0px;}
}
@keyframes stroke1_2 {
	0% {stroke-dashoffset: 120px;}
	100% {stroke-dashoffset: 0px;}
}

@keyframes stroke2_1 {
	0% {stroke-dashoffset: 100px;}
	100% {stroke-dashoffset: 0px;}
}
@keyframes stroke2_2 {
	0% {stroke-dashoffset: 240px;}
	100% {stroke-dashoffset: 0px;}
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
.m_img_area .m_copy1 {
	transform: translateY(-72%);
	width: 65vh;
}
.m_img_area .m_copy2 {
	font-size: min(95%,2.6vh);
	letter-spacing: .3em;
}
.m_img_area .m_copy3 {
	right: 10%;
	bottom: 3%;
	width: 50vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area .m_copy1 {
	left: 1%;
	top: 12%;
	transform: none;
	width: 50%;
}
.m_img_area .m_copy2 {
	right: auto;
	left: 5%;
	top: 50%;
	writing-mode: horizontal-tb;
	font-size: 1.8vw;
	line-height: 2.0em;
}
.m_img_area .m_copy3 {
	right: 3%;
	bottom: 5%;
	width: 35%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area .m_copy1 {
	margin: auto;
	left: 0;
	right: 0;
	top: 5%;
	transform: translateX(-3%);
	width: 72%;
}
.m_img_area .m_copy3 {
	right: 0;
	bottom: 0;
	width: 60%;
	transform: translate(10%,5%);
}
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (max-width: 767px) and (orientation: portrait) {
.m_img_area .m_slider .slide1 {background-image: url("../images/top/m_img1_sp.jpg");}
.m_img_area .m_slider .slide2 {background-image: url("../images/top/m_img2_sp.jpg");}
.m_img_area .m_slider .slide3 {background-image: url("../images/top/m_img3_sp.jpg");}
}



/*sp_lead
---------------------------------------------------------*/
.sp_lead {
	position: relative;
}

.sp_lead .m_point {
	position: absolute;
	z-index: 5;
	left: 4%;
	bottom: 100%;
	transform: translateY(-40%);
	width: 60%;
	max-width: 810px;
	margin: auto;
	display: flex;
    justify-content: space-between;
	text-align: center;
	color: #fff;
	font-size: min(95%,1.5vw);
	letter-spacing: normal;
	line-height: 1.4em;
}
.sp_lead .m_point li {
	width: 32.6%;
	max-width: 260px;
	box-sizing: border-box;
}
.sp_lead .m_point li > a,
.sp_lead .m_point li > div {
	display: block;
	border: solid 1px #fff;
	border-radius: 15px;
	padding: 16% 5%;
	background: rgba(199,168,36,0.65);
	position: relative;
	overflow: hidden;
}
.sp_lead .m_point li > a::before,
.sp_lead .m_point li > div::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 50px;
	background: #fff;
	left: 30px;
	top: 0;
	transform-origin: right top;
	transform: rotate(45deg);
	opacity: 0.7;
}
.sp_lead .m_point li .ft_min {
	margin-top: .5em;
}
.sp_lead .m_point li.web_btn > a {
	color: #138575;
	border-color: #138575;
	background: rgba(255,255,255,0.75);
}
.sp_lead .m_point li.web_btn > a:hover {
	background: rgba(220,237,234,0.75);
}
.sp_lead .m_point li.web_btn > a::before {
	background: #138575;
}
.sp_lead .m_point li.web_btn .ft_min {
	display: inline-block;
	padding-right: 30px;
	position: relative;
}
.sp_lead .m_point li.web_btn .ft_min .com_arrow2 {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
.sp_lead .m_point {
	left: 4%;
	bottom: 100%;
	transform: translateY(-20%);
	width: 95vh;
	font-size: min(95%,2.2vh);
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.sp_lead .m_point {
	left: 3%;
	width: 75%;
	font-size: 1.8vw;
}
.sp_lead .m_point li.web_btn .ft_min {
	padding-right: 25px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.sp_lead {
	padding-top: 12%;
	padding-bottom: 14%;
	border-bottom: solid 1px #138575;
}
.sp_lead .m_copy2 {
	font-size: 100%;
	letter-spacing: .1em;
	line-height: 2.0em;
	margin-bottom: 6%;
}
.sp_lead .m_point {
	position: static;
	transform: none;
	width: 100%;
	max-width: 100%;
	font-size: 90%;
}
.sp_lead .m_point li.web_btn {
	display: none;
}
.sp_lead .m_point li {
	width: 48.5%;
	max-width: 100%;
}
.sp_lead .m_point li > a,
.sp_lead .m_point li > div {
	border-radius: 2vw;
}
}



/*top_info
---------------------------------------------------------*/
.top_info {
	padding-top: 100px;
	padding-bottom: 100px;
}
.top_info .flex_box {
	display: flex;
    justify-content: space-between;
}
.top_info .flex_box .box_l {
	width: 43%;
	max-width: 525px;
}
.top_info .flex_box .box_r {
	width: 53%;
	max-width: 650px;
}

.top_info .news_box .title_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 40px;
}
.top_info .news_box .title_box h2 {
	font-size: 210%;
	letter-spacing: normal;
	line-height: 1.2em;
}
.top_info .news_box .title_box .com_link1 a {
	padding-top: .7em;
	padding-bottom: .7em;
	border-bottom: solid 1px rgba(19,133,117,0.5);
}
.top_info .news_list li {
	margin-bottom: 1.5em;
}
.top_info .news_list li:last-child {
	margin-bottom: 0;
}
.top_info .news_list dl {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
	position: relative;
}
.top_info .news_list dl::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: rgba(19,133,117,0.5);
	left: 0;
	bottom: 0em;
	opacity: 0;
	transition: all 0.6s ease-out;
}
.top_info .news_list li:hover dl::before {
	transition-duration: 0.4s;
	bottom: -.2em;
	opacity: 1;
}
.top_info .news_list dt {
	font-size: 85%;
	letter-spacing: .1em;
	line-height: 1.2em;
	padding-top: .3em;
	width: 120px;
	position: relative;
}
.top_info .news_list li:hover dt::before {
	transition-duration: 0.3s;
	width: 90%;
}
.top_info .news_list dd {
	line-height: 1.4em;
	width: calc(100% - 120px);
}
.top_info .com_timetable .time_bg {
	background: #138575;
	color: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_info {
	padding-top: 8%;
	padding-bottom: 8%;
}
.top_info .news_box .title_box {
    justify-content: flex-start;
	margin-bottom: 6%;
}
.top_info .news_box .title_box h2 {
	margin-right: .8em;
}
.top_info .news_box .title_box .com_link1 a {
	border-bottom: none;
}
.top_info .news_list li {
	padding-bottom: 1.0em;
	border-bottom: solid 1px #b8dad6;
	margin-bottom: 1.0em;
}
.top_info .news_list dl {
	display: block;
}
.top_info .news_list dl::before {
	display: none;
}
.top_info .news_list dt {
	font-size: 90%;
	letter-spacing: .05em;
	padding-top: 0;
	margin-bottom: .5em;
	width: 100%;
}
.top_info .news_list dd {
	width: 100%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_info {
	padding-top: 8%;
	padding-bottom: 12%;
}
.top_info .flex_box {
	display: block;
}
.top_info .flex_box .box_l {
	width: 100%;
	max-width: 100%;
	margin-bottom: 10%;
}
.top_info .flex_box .box_r {
	width: 100%;
	max-width: 100%;
}

.top_info .news_box .title_box {
	margin-bottom: 4%;
}
.top_info .news_box .title_box h2 {
	font-size: 180%;
}
.top_info .news_box .title_box .com_link1 a {
	border-bottom: none;
}
.top_info .news_list li {
	padding-bottom: .8em;
	border-bottom: solid 1px #b8dad6;
	margin-bottom: 1.0em;
}
.top_info .news_list dl {
	display: block;
}
.top_info .news_list dl::before {
	display: none;
}
.top_info .news_list dt {
	font-size: 90%;
	letter-spacing: .05em;
	padding-top: 0;
	margin-bottom: .3em;
	width: 100%;
}
.top_info .news_list dd {
	width: 100%;
}
}



/*TOP：共通
---------------------------------------------------------*/
.top_index1 {
	display: inline-block;
	font-size: min(234%,4.0vw);
	letter-spacing: .15em;
	line-height: 1.6em;
	padding-top: .25em;
	position: relative;
	margin-bottom: .7em;
}
.top_index1::before {
	content: "";
	position: absolute;
	width: .4em;
	height: 1px;
	background: #138575;
	left: .2em;
	top: 0;
	transform: rotate(-45deg);
}

.top_index2 {
	font-size: min(245%,4.2vw);
	letter-spacing: normal;
	line-height: 1.5em;
}

.top_o_img {
	display: block;
	position: relative;
}
.top_o_img::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border-radius: 49%;
	left: 0;
	top: 0;
	border: solid 2px #fff;
}
.top_o_img::after {
	content: "";
	position: absolute;
	width: 80%;
	height: 94%;
	box-sizing: border-box;
	border-radius: 50%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	border: solid 2px #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_index1 {
	letter-spacing: .1em;
	margin-bottom: .5em;
}
.top_o_img::before,
.top_o_img::after {
	border-width: 1px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_index1 {
	font-size: 180%;
	letter-spacing: .15em;
}
.top_index2 {
	font-size: 170%;
	letter-spacing: normal;
	line-height: 1.5em;
}
.top_o_img::before,
.top_o_img::after {
	border-width: 1px;
}
}



/*top_concept
---------------------------------------------------------*/
.top_concept {
	background: #98C8A6;
	position: relative;
}
.top_concept .w1140 {
	position: relative;
	z-index: 1;
	padding-top: 140px;
	padding-bottom: 80px;
	color: #fff;
}
.top_concept .abs_img {
	width: 60%;
	max-width: 700px;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(27%,-6%);
}

.top_concept .top_index1::before {
	background: #fff;
}
.top_concept .fs19 {
	width: 60%;
	line-height: 2.9em;
}

.top_concept .point_list {
	width: 100%;
	max-width: 1110px;
	margin: 70px auto 0;
	display: flex;
    justify-content: space-between;
	text-align: center;
	color: #7EBA90;
	font-size: min(100%,1.6vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.top_concept .point_list li {
	width: 24.4%;
	max-width: 270px;
}
.top_concept .point_list li a {
	display: block;
	box-sizing: border-box;
	background: #fff;
	border: solid 1px #7EBA90;
	border-radius: .8em;
	padding: 1.5em 0;
	overflow: hidden;
	position: relative;
}
.top_concept .point_list li a:hover {
	background: rgba(255,255,255,0.75);
}
.top_concept .point_list li a::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 50px;
	background: #A5CFB1;
	left: 30px;
	top: 0;
	transform-origin: right top;
	transform: rotate(45deg);
	opacity: 0.7;
}
.top_concept .point_list li div {
	width: 30%;
	max-width: 70px;
	margin: 0 auto .5em;
}

.top_concept .bg_txt {
	position: absolute;
	z-index: 0;
	left: 3%;
	top: 3%;
	text-align: left;
	color: #8BBF8F;
	font-size: 1610%;
	letter-spacing: normal;
	line-height: 1.0em;
	opacity: 0.7;
}
.top_concept .bg_txt span {
	display: block;
	opacity: 0;
	transition: opacity 1.0s 0.8s ease-out;
}
.top_concept .bg_txt span:nth-child(2) {
	margin-left: .45em;
	margin-top: -.3em;
	transition-delay: 1.2s;
}
.top_concept .bg_txt span:nth-child(3) {
	margin-left: .9em;
	margin-top: -.3em;
	transition-delay: 1.6s;
}
.top_concept.anime_on .bg_txt span {
	opacity: 1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_concept .w1140 {
	padding-top: 12%;
	padding-bottom: 12%;
}
.top_concept .fs19 {
	width: 55%;
	line-height: 2.6em;
}
.top_concept .point_list {
	margin-top: 6%;
	font-size: 1.8vw;
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_concept .w1140 {
	padding-top: 14%;
	padding-bottom: 16%;
}
.top_concept .sp_layout {
	display: flex;
    align-items: flex-end;
	margin-bottom: 10%;
}
.top_concept .top_index1 {
	writing-mode: vertical-rl;
	text-orientation: upright;
	display: inline-block;
	margin: auto;
	margin-left: 5%;
	margin-right: 10%;
	padding-top: 1.0em;
}
.top_concept .top_index1::before {
	left: .4em;
	top: .4em;
	transform: rotate(-45deg);
}
.top_concept .abs_img {
	width: 65%;
	position: static;
	transform: none;
}

.top_concept .fs19 {
	width: 100%;
	line-height: 2.2em;
}

.top_concept .point_list {
	margin-top: 10%;
    flex-wrap: wrap;
	font-size: 90%;
	letter-spacing: .05em;
}
.top_concept .point_list li {
	width: 49%;
	max-width: 100%;
	margin-top: 2%;
}
.top_concept .point_list li:nth-child(-n+2) {
	margin-top: 0;
}
.top_concept .point_list li a {
	padding: 1.2em 0;
}

.top_concept .bg_txt {
	left: 3%;
	top: 50vw;
	font-size: 650%;
}
}



/*top_features
---------------------------------------------------------*/
.top_features {
	background: url("../images/pattern@2x.png") repeat center center;
	background-size: 1001px auto;
}
.top_features .w1340 {
	padding-top: 120px;
	padding-bottom: 100px;
}
.top_features .top_index1 {
	margin-right: 3%;
	margin-bottom: 1.2em;
}

.top_features .item_list {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.top_features .item_list > li {
	width: 32%;
	max-width: 420px;
}
.top_features .item_list > li:nth-child(2) {
	margin-top: 50px;
}
.top_features .item_list > li:nth-child(3) {
	margin-top: 100px;
}
.top_features .item_list .img_box {
	position: relative;
	text-align: center;
}
.top_features .item_list .img_box dl {
	position: absolute;
	z-index: 1;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-size: min(195%,2.8vw);
	letter-spacing: .15em;
	line-height: 1.2em;
}
.top_features .item_list .img_box dt {
	width: 75%;
	margin: 0 auto;
}
.top_features .item_list .img_box .ft_aboreto {
	opacity: 0.7;
	font-size: 110%;
	letter-spacing: normal;
	line-height: 1.2em;
	margin: .8em 0 .1em;
}
.top_features .item_list .txt {
	margin-top: 1.2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_features {
	background-size: 70% auto;
}
.top_features .w1340 {
	padding-top: 12%;
	padding-bottom: 12%;
}
.top_features .top_index1 {
	margin-bottom: 0;
}
.top_features .item_list > li:nth-child(2) {
	margin-top: 8vw;
}
.top_features .item_list > li:nth-child(3) {
	margin-top: 16vw;
}
.top_features .item_list .img_box dl {
	font-size: 3.0vw;
	letter-spacing: .1em;
}
.top_features .item_list .img_box dt {
	width: 80%;
}
.top_features .item_list .img_box .ft_aboreto {
	margin: .2em 0 .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_features {
	background-size: 100% auto;
}
.top_features .w1340 {
	padding-top: 14%;
	padding-bottom: 14%;
}
.top_features .txt_al_r:has(.top_index1) {
	text-align: left;
}
.top_features .top_index1 {
	margin-right: 0;
	margin-bottom: 10%;
}

.top_features .item_list {
	display: block;
}
.top_features .item_list > li {
	width: 100%;
	max-width: 100%;
	margin: 10% 0 0 !important;
}
.top_features .item_list > li:first-child {
	margin-top: 0 !important;
}
.top_features .item_list .img_box {
	width: 80%;
	margin: 0 auto;
}
.top_features .item_list .img_box dl {
	font-size: 140%;
	letter-spacing: .15em;
}
.top_features .item_list .img_box dt {
	width: 75%;
}
.top_features .item_list .img_box .ft_aboreto {
	margin: .8em 0 .1em;
}
.top_features .item_list .txt {
	margin-top: 1.0em;
}
}



/*top_reserve
---------------------------------------------------------*/
.top_reserve .w1140 {
	padding-top: 120px;
	padding-bottom: 120px;
	color: #fff;
	text-align: center;
}
.top_reserve .title_box p {
	width: 55%;
	margin: 0 auto;
}
.top_reserve .title_box h2 {
	font-size: 117%;
	letter-spacing: .15em;
	line-height: 1.6em;
	padding: 1.2em 0;
	position: relative;
	margin-bottom: 2.0em;
}
.top_reserve .title_box h2::before {
	content: "";
	position: absolute;
	width: 20%;
	max-width: 260px;
	height: 1px;
	background: #fff;
	opacity: 0.3;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
}
.top_reserve .com_list1 {
	display: inline-block;
	text-align: left;
}
.top_reserve .com_list1 > li::before {
	background: #fff;
}
.top_reserve .com_contact {
	margin-left: auto;
	margin-right: auto;
}
.top_reserve .com_web a {background: rgba(19,133,117,0.75);}
.top_reserve .com_web a:hover {background: rgba(42,161,144,0.75);}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_reserve .w1140 {
	padding-top: 10%;
	padding-bottom: 12%;
}
.top_reserve .com_list1 {
	display: block;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_reserve .w1140 {
	padding-top: 16%;
	padding-bottom: 18%;
}
.top_reserve .title_box p {
	width: 70%;
}
.top_reserve .title_box h2 {
	font-size: 110%;
	letter-spacing: .15em;
	padding: .8em 0 1.5em;
	margin-bottom: 1.8em;
}
.top_reserve .com_list1 {
	display: block;
}
}



/*top_medical
---------------------------------------------------------*/
.top_medical .w1400 {
	padding-top: 130px;
}
.top_medical .top_index2 {
	text-align: center;
	margin-bottom: .7em;
}
.top_medical .item_list {
	width: 100%;
	max-width: 1160px;
	margin: 50px auto 130px;
	display: flex;
    flex-wrap: wrap;
}
.top_medical .item_list > li {
	width: 31%;
	margin-right: 3.5%;
	margin-top: 2.5%;
	background: rgba(181,181,114,0.95);
	color: #fff;
	font-size: min(100%,1.7vw);
	font-weight: bold;
	line-height: 1.4em;
	height: 5.6em;
	border-radius: 6.0em;
	position: relative;
}
.top_medical .item_list > li:nth-child(3n),
.top_medical .item_list > li:last-child {
	margin-right: 0;
}
.top_medical .item_list > li:nth-child(-n+3) {
	margin-top: 0;
}
.top_medical .item_list > li p {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 80%;
	max-width: 270px;
	box-sizing: border-box;
	padding-left: 4.0em;
}
.top_medical .item_list [class^="icon"] {
	display: block;
	width: 3.0em;
	height: 3.0em;
	background: url("../images/med_icon1@2x.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.top_medical .item_list .icon1 {background-image: url("../images/med_icon1@2x.png");}
.top_medical .item_list .icon2 {background-image: url("../images/med_icon2@2x.png");}
.top_medical .item_list .icon3 {background-image: url("../images/med_icon3@2x.png");}
.top_medical .item_list .icon4 {background-image: url("../images/med_icon4@2x.png");}
.top_medical .item_list .icon5 {background-image: url("../images/med_icon5@2x.png");}
.top_medical .item_list .icon6 {background-image: url("../images/med_icon6@2x.png");}
.top_medical .item_list .icon7 {background-image: url("../images/med_icon7@2x.png");}
.top_medical .item_list .icon8 {background-image: url("../images/med_icon8@2x.png");}
.top_medical .item_list .icon9 {background-image: url("../images/med_icon9@2x.png");}

.top_medical .check_box {
	background: #f3fafa;
	border-radius: 30px;
	padding: 0 4% 100px;
}
.top_medical .check_box .check_title {
	width: 60%;
	max-width: 500px;
	margin: 0 auto 60px;
	box-sizing: border-box;
	padding-bottom: 30px;
	position: relative;
	text-align: center;
}
.top_medical .check_box .check_title::before {
	content: "";	/*背景色*/
	position: absolute;
	z-index: 0;
	width: 100%;
	height: calc(100% + 30px);
	left: 0;
	bottom: 0;
	background: #fff;
	border-radius: 40px;
	box-shadow: 0px 0px 20px 0px rgba(19,133,117,0.1);
}
.top_medical .check_box .check_title::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 26px;
	left: 0;
	top: 100%;
	background: url("../images/top/fukidashi@2x.png") no-repeat center top;
	background-size: contain;
}
.top_medical .check_box .check_title p,
.top_medical .check_box .check_title h3 {
	position: relative;
	z-index: 1;
}
.top_medical .check_box .check_title p {
	display: inline-block;
	font-size: 95%;
	font-weight: bold;
	letter-spacing: .28em;
	line-height: 1.4em;
	padding-right: 4.0em;
	padding-bottom: .7em;
	position: relative;
}
.top_medical .check_box .check_title p::before {
	content: "";
	position: absolute;
	width: 3.5em;
	height: 3.5em;
	background: url("../images/check@2x.png") no-repeat center center;
	background-size: contain;
	right: 0;
	bottom: -.3em;
}
.top_medical .check_box .check_title h3 {
	font-size: 160%;
	letter-spacing: .04em;
	line-height: 1.4em;
}
.top_medical .check_box ul {
	width: 100%;
	max-width: 1210px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	font-size: 105%;
	letter-spacing: .04em;
	line-height: 1.8em;
}
.top_medical .check_box ul li {
	margin-top: .8em;
	width: 48%;
	max-width: 570px;
	box-sizing: border-box;
	padding-left: 2.0em;
	position: relative;
}
.top_medical .check_box ul li:nth-child(-n+2) {
	margin-top: 0;
}
.top_medical .check_box ul li::before {
	content: "";
	position: absolute;
	letter-spacing: normal;
	line-height: 1.0em;
	width: 1.2em;
	height: 1.2em;
	box-sizing: border-box;
	background: #fff;
	border: solid 2px #5aaa9e;
	border-radius: .2em;
	left: 0;
	top: .2em;
}

.top_medical .counseling_box {
	padding: 80px 0;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.top_medical .counseling_box .box_l {
	width: 48%;
	max-width: 670px;
	margin-left: -7%;
}
.top_medical .counseling_box .box_r {
	width: 56%;
	max-width: 750px;
}
.top_medical .counseling_box .top_index2 {
	text-align: left;
	margin-bottom: .6em;
}
.top_medical .counseling_box .com_list1 {
	width: 100%;
	max-width: 660px;
}
.top_medical .counseling_box .com_contact {
	width: 100%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_medical .w1400 {
	padding-top: 12%;
}
.top_medical .top_index2 {
	margin-bottom: .5em;
}
.top_medical .item_list {
	margin: 5% auto 12%;
}
.top_medical .item_list > li {
	width: 32.4%;
	margin-right: 1.4%;
	margin-top: 2%;
	font-size: 2.0vw;
}
.top_medical .item_list > li p {
	padding-left: 3.5em;
}

.top_medical .check_box {
	padding: 0 4% 8%;
}
.top_medical .check_box .check_title {
	margin-bottom: 6%;
	padding-bottom: 3vw;
}
.top_medical .check_box .check_title::before {
	height: calc(100% + 3vw);	/*背景色*/
}
.top_medical .check_box ul {
	font-size: 100%;
	line-height: 1.6em;
}
.top_medical .check_box ul li {
	padding-left: 1.8em;
}

.top_medical .counseling_box {
	padding: 10% 0 12%;
	display: block;
	position: relative;
}
.top_medical .counseling_box .box_l {
	width: 48%;
	margin: 0;
	position: absolute;
	z-index: 0;
	left: 0;
	top: 5%;
	transform: translateX(-14%);
}
.top_medical .counseling_box .box_r {
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 1;
}
.top_medical .counseling_box .tb_layout {
	width: 54%;
	margin-left: auto;
	margin-right: 0;
}
.top_medical .counseling_box .com_contact {
	width: 70vw;
	margin-left: auto;
	margin-right: auto;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_medical .w1400 {
	padding-top: 14%;
}
.top_medical .top_index2 {
	margin-bottom: .7em;
}
.top_medical .item_list {
	margin: 6% auto 20%;
    justify-content: space-between;
	text-align: center;
}
.top_medical .item_list > li {
	width: 49.5%;
	box-sizing: border-box;
	margin-right: 0;
	margin-top: 1% !important;
	font-size: 95%;
	letter-spacing: .1em;
	height: auto;
	border-radius: 1.2em;
	padding: .8em 0 1.2em;
}
.top_medical .item_list > li:nth-child(-n+2) {
	margin-top: 0 !important;
}
.top_medical .item_list > li p {
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	transform: none;
	width: 100%;
	max-width: 100%;
	padding: 3.4em 0 0;
}
.top_medical .item_list [class^="icon"] {
	width: 100%;
	height: 3.0em;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: none;
}

.top_medical .check_box {
	width: 110%;
	margin-left: -5%;
	box-sizing: border-box;
	border-radius: 0;
	padding: 0 6% 16%;
}
.top_medical .check_box .check_title {
	width: 100%;
	max-width: 100%;
	margin-bottom: 12%;
	padding-bottom: 5vw;
}
.top_medical .check_box .check_title::before {
	height: calc(100% + 5vw);	/*背景色*/
	border-radius: 6vw;
}
.top_medical .check_box .check_title::after {
	height: 4vw;
}
.top_medical .check_box .check_title p {
	font-size: 95%;
	padding-right: 3.0em;
	padding-bottom: .7em;
}
.top_medical .check_box .check_title p::before {
	width: 2.5em;
	height: 2.5em;
	right: 0;
	bottom: .2em;
}
.top_medical .check_box .check_title h3 {
	font-size: 145%;
}
.top_medical .check_box ul {
	display: block;
	letter-spacing: normal;
	line-height: 1.6em;
}
.top_medical .check_box ul li {
	width: 100%;
	margin-top: .8em !important;
	padding-left: 1.8em;
}
.top_medical .check_box ul li:first-child {
	margin-top: 0 !important;
}
.top_medical .check_box ul li::before {
	top: .15em;
}

.top_medical .counseling_box {
	padding: 14% 0 18%;
	display: block;
	position: relative;
}
.top_medical .counseling_box .box_l {
	width: 50%;
	margin: 0;
	position: absolute;
	z-index: 0;
	right: 0;
	top: 0;
	transform: translate(25%,-12%);
}
.top_medical .counseling_box .box_r {
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 1;
}
.top_medical .counseling_box .com_list1 {
	max-width: 100%;
}
}



/*top_disease
---------------------------------------------------------*/
.top_disease {
	background: #98c8a6;
	position: relative;
	color: #fff;
}
.top_disease::before,
.top_disease::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100vw;
	max-height: 1400px;
	left: 0;
	top: 0;
}
.top_disease::before {
	z-index: 0;
	background: url("../images/pattern@2x.png") repeat center center;
	background-size: 1001px auto;
	opacity: 0.4;
}
.top_disease::after {
	z-index: 0;
	background: #98C8A6;
	background: linear-gradient(0deg,rgba(152, 200, 166, 1) 0%, rgba(152, 200, 166, 0) 30%);
}
.top_disease .w1220 {
	padding-top: 135px;
	padding-bottom: 120px;
	position: relative;
	z-index: 3;
}

.top_disease .box_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top_disease .box_list > li {
	margin-top: 30px;
	width: 49%;
	max-width: 580px;
	box-sizing: border-box;
	border: solid 1px #fff;
	background: #98c8a6;
	border-radius: 30px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.top_disease .box_list > li:nth-child(-n+2) {
	margin-top: 0;
}
.top_disease .box_list > li::before {
	content: "";	/*背景色*/
	position: absolute;
	z-index: 0;
	width: 100%;
	height: calc(100% - 240px);
	background: #48a6b5;
	left: 0;
	bottom: 0;
	transition: all 0.8s ease-out;
}
.top_disease .box_list > li:hover::before {
	transition-duration: 0.5s;
	opacity: 0.5;
}
.top_disease .box_list > li::after {
	content: "";	/*斜線*/
	position: absolute;
	z-index: 0;
	width: 1px;
	height: 80px;
	background: #fff;
	left: 50px;
	top: 0;
	transform-origin: right top;
	transform: rotate(45deg);
	opacity: 0.7;
}
.top_disease .box_list .in_box {
	position: relative;
	z-index: 1;
	padding: 60px 7% 80px;
}
.top_disease .box_list .img_item {
	width: 50%;
	margin: 0 auto;
}
.top_disease .box_list h3 {
	text-align: center;
	font-size: min(205%,3.5vw);
	letter-spacing: normal;
	line-height: 1.4em;
	margin: .6em 0 .2em;
}
.top_disease .box_list h3 span {
	font-size: 55%;
	letter-spacing: normal;
	line-height: 1.4em;
	display: inline-block;
	vertical-align: middle;
	transform: translateY(-.2em);
}
.top_disease .box_list .txt {
	width: 100%;
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
}
.top_disease .box_list .com_link1 {
	position: absolute;
	right: 5%;
	bottom: 4%;
}
.top_disease .box_list .com_link1 a {
	color: #fff;
}

.top_disease .box_list > li.disease7 h3 span {
	display: block;
}

/*項目数が奇数の場合のタイトル*/
.top_disease .box_list .title_box {
	border: none;
	background: none;
	border-radius: 0;
}
.top_disease .box_list .title_box::before,
.top_disease .box_list .title_box::after {
	display: none;
}
.top_disease .box_list .title_box .abs_box {
	position: absolute;
	left: 5%;
	top: 48%;
	transform: translateY(-50%);
}
.top_disease .box_list .title_box .illust {
	width: 52%;
	max-width: 218px;
}
.top_disease .box_list .title_box h2 {
	font-size: min(400%,6.2vw);
	letter-spacing: normal;
	line-height: 1.3em;
	margin: .4em 0 .3em;
}
.top_disease .box_list .title_box .ft_aboreto {
	font-size: 145%;
	letter-spacing: normal;
	line-height: 1.2em;
}
/*項目数が偶数の場合のタイトル*/
.top_disease .title_box.typ_even {
	text-align: center;
	margin-bottom: 60px;
}
.top_disease .title_box.typ_even .illust {
	width: 15%;
	margin: -5% auto 0;
}
.top_disease .title_box.typ_even h2 {
	font-size: min(310%,6.2vw);
	letter-spacing: normal;
	line-height: 1.3em;
	margin: .4em 0 .3em;
}
.top_disease .title_box.typ_even .ft_aboreto {
	font-size: 140%;
	letter-spacing: normal;
	line-height: 1.2em;
}

.top_disease .box_list > li.disease2::before {background: #b8a35e;}
.top_disease .box_list > li.disease3::before {background: #a987ab;}
.top_disease .box_list > li.disease4::before {background: #56a6a2;}
.top_disease .box_list > li.disease5::before {background: #597fa6;}
.top_disease .box_list > li.disease6::before {background: #c49156;}
.top_disease .box_list > li.disease7::before {background: #ad6363;}
.top_disease .box_list > li.disease8::before {background: #70A05C;}
.top_disease .box_list > li.disease9::before {background: #5c6887;}

.top_disease .abs_img {
	width: 50%;
	max-width: 670px;
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	transform: translate(25%,12%);
}
.top_disease .abs_img::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 113%;
	height: 113%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%) rotate(45deg);
	background: url("../images/top/dise_img8_txt@2x.png") no-repeat center center;
	background-size: contain;
	transition: transform 2.0s ease-out;
}
.top_disease .abs_img.anime_on::before {
	transform: translate(-50%,-50%) rotate(0deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_disease::before {
	background-size: 70% auto;
}
.top_disease .w1220 {
	padding-top: 10%;
	padding-bottom: 12%;
}

.top_disease .box_list > li {
	margin-top: 4%;
}
.top_disease .box_list > li::before {
	height: calc(100% - 18vw);	/*背景色*/
}
.top_disease .box_list .in_box {
	padding: 8% 7% 18%;
}
.top_disease .box_list h3 {
	font-size: 3.8vw;
	margin: .4em 0 .2em;
}

/*項目数が偶数の場合のタイトル*/
.top_disease .title_box.typ_even {
	margin-bottom: 6%;
}

.top_disease .abs_img {
	width: 55%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_disease::before {
	background-size: 100% auto;
}
.top_disease {
	padding-bottom: 8%;
}
.top_disease .w1220 {
	padding-top: 14%;
	padding-bottom: 8%;
}

.top_disease .box_list {
	display: block;
}
.top_disease .box_list > li {
	margin-top: 6% !important;
	width: 100%;
	max-width: 100%;
	border-radius: 5vw;
	padding: 8% 6% 6%;
}
.top_disease .box_list > li:first-child {
	margin-top: 0 !important;
}
.top_disease .box_list > li::before {
	height: 100%;	/*背景色*/
}
.top_disease .box_list .in_box {
	padding: 0 2% 1.0em;
}
.top_disease .box_list .sp_layout {
	display: flex;
    align-items: center;
	margin-bottom: 5%;
}
.top_disease .box_list .img_item {
	width: 40%;
	margin: 0;
	margin-right: 5%;
}
.top_disease .box_list h3 {
	text-align: left;
	font-size: 160%;
	margin: 0;
}
.top_disease .box_list h3 span {
	font-size: 65%;
	display: block;
	transform: none;
	margin-top: .2em;
	text-indent: -.5em;
}
.top_disease .box_list .txt {
	max-width: 100%;
}
.top_disease .box_list .com_link1 {
	position: static;
	text-align: right;
}
.top_disease .box_list .title_box .abs_box {
	position: static;
	transform: none;
}
.top_disease .box_list .title_box {
	padding: 0;
	text-align: center;
}
/*項目数が偶数の場合のタイトル*/
.top_disease .title_box.typ_even {
	margin-bottom: 6%;
}
.top_disease .box_list .title_box .illust,
.top_disease .title_box.typ_even .illust {
	width: 28%;
	margin: 0 auto;
}
.top_disease .box_list .title_box h2,
.top_disease .title_box.typ_even h2 {
	font-size: 170%;
	margin: .4em 0 .3em;
}
.top_disease .box_list .title_box .ft_aboreto,
.top_disease .title_box.typ_even .ft_aboreto {
	font-size: 90%;
}

.top_disease .abs_img {
	width: 100%;
	box-sizing: border-box;
	padding: 0 8%;
	position: relative;
	right: auto;
	bottom: auto;
	transform: none;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.top_disease .abs_img::before {
	display: none;
}
.top_disease .abs_img .top_o_img {
	width: 50%;
}
.top_disease .abs_img .ft_min {
	width: 50%;
	text-align: center;
	color: #fff;
	font-size: 130%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
}



/*top_data
---------------------------------------------------------*/
.top_data .w1260 {
	padding-top: 150px;
	padding-bottom: 120px;
}
.top_data .frame_box {
	width: 93%;
	max-width: 1170px;
	margin: 0 auto;
	box-sizing: border-box;
	border: solid 1px #138575;
	border-radius: 30px;
	padding: 160px 3% 30px;
	position: relative;
	margin-bottom: 80px;
}
.top_data .frame_box h2 {
	background: #fff;
	font-size: min(265%,4.0vw);
	letter-spacing: normal;
	line-height: 1.3em;
	padding-right: .5em;
	padding-bottom: 1.0em;
	position: absolute;
	z-index: 1;
	left: -1.0em;
	top: -.5em;
}
.top_data .frame_box h2::before {
	content: "";
	position: absolute;
	width: 1.8em;
	height: 1.8em;
	right: 0;
	bottom: 0;
	background: url("../images/top/icon_data@2x.png") no-repeat center center;
	background-size: contain;
}
.top_data .frame_box .in_box {
	width: 98%;
	max-width: 1020px;
	margin: 0 auto 80px;
}
.top_data .frame_box .in_box.data02 {
	margin-bottom: 40px;
}
.top_data .frame_box .title_box {
	text-align: center;
}
.top_data .frame_box .title_box .ft_aboreto {
	display: inline-block;
	background: #138575;
	color: #fff;
	font-size: 100%;
	letter-spacing: .08em;
	line-height: 1.2em;
	padding: .5em 2.5em;
	border-radius: 3.0em;
}
.top_data .frame_box .title_box .ft_min {
	font-size: 170%;
	letter-spacing: .04em;
	line-height: 1.6em;
	margin: .4em 0 .8em;
}
.top_data .frame_box .graph_box {
	background: #f6faf7;
	padding: 50px 3%;
}
.top_data .frame_box .graph_caption {
	text-align: center;
	font-size: 145%;
	letter-spacing: .04em;
	line-height: 1.6em;
	margin-bottom: -.8em;
}
.top_data .frame_box .graph_box .memo,
.top_data .frame_box .graph_box .color_caption {
	width: 96%;
	max-width: 890px;
	margin: 0 auto;
}
.top_data .frame_box .graph_box .memo {
	font-size: 70%;
	letter-spacing: .1em;
	line-height: 1.8em;
	margin-top: 1.0em;
}
.top_data .frame_box .graph_box .color_caption {
	color: #92c788;
	font-size: 95%;
	letter-spacing: .1em;
	line-height: 1.4em;
	display: flex;
    align-items: center;
}
.top_data .frame_box .graph_box .color_caption li {
	padding-left: 1.5em;
	position: relative;
	margin-right: 1.5em;
}
.top_data .frame_box .graph_box .color_caption li::before {
	content: "";
	position: absolute;
	width: 1.0em;
	height: 1.0em;
	background: #b0d9a7;
	left: 0;
	top: .2em;
}
.top_data .frame_box .graph_box .color_caption li:nth-child(2) {
	color: #6fba96;
}
.top_data .frame_box .graph_box .color_caption li:nth-child(2)::before {
	background: #85c9a8;
}
.top_data .frame_box .source_txt {
	text-align: right;
	font-size: 70%;
	letter-spacing: .1em;
	line-height: 1.8em;
}

.top_data .counseling_box {
	text-align: center;
}
.top_data .counseling_box .top_index2 {
	margin-bottom: .8em;
}
.top_data .counseling_box .com_list1 {
	display: inline-block;
	text-align: left;
}
.top_data .counseling_box .com_contact {
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_data .w1260 {
	padding-top: 15%;
	padding-bottom: 14%;
}
.top_data .frame_box {
	padding: 14% 3% 3%;
	margin-bottom: 10%;
}
.top_data .frame_box h2 {
	left: -.5em;
	top: -1.0em;
}
.top_data .frame_box .in_box {
	margin-bottom: 8%;
}
.top_data .frame_box .in_box.data02 {
	margin-bottom: 4%;
}
.top_data .frame_box .graph_box {
	padding: 5% 3%;
}
.top_data .frame_box .graph_box .memo {
	font-size: 75%;
	letter-spacing: .05em;
}
.top_data .frame_box .source_txt {
	font-size: 75%;
	letter-spacing: .05em;
}

.top_data .counseling_box .top_index2 {
	margin-bottom: .5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_data .w1260 {
	padding-top: 14%;
	padding-bottom: 18%;
}
.top_data .frame_box {
	width: 100%;
	border: none;
	border-radius: 0;
	padding: 0;
	margin-bottom: 12%;
}
.top_data .frame_box h2 {
	background: none;
	text-align: center;
	font-size: 170%;
	line-height: 1.4em;
	padding: 0 0 .5em;
	border-bottom: solid 1px #138575;
	margin-bottom: 10%;
	position: relative;
	left: auto;
	top: auto;
}
.top_data .frame_box h2::before {
	width: 1.8em;
	height: 1.8em;
	right: 15%;
	bottom: .5em;
}
.top_data .frame_box h2 span {
	display: inline-block;
	text-align: left;
}
.top_data .frame_box .in_box {
	width: 100%;
	margin-bottom: 10%;
}
.top_data .frame_box .in_box.data02 {
	margin-bottom: 6%;
}
.top_data .frame_box .title_box .ft_aboreto {
	font-size: 90%;
}
.top_data .frame_box .title_box .ft_min {
	font-size: 135%;
	margin: .4em 0 .8em;
}
.top_data .frame_box .graph_box {
	/*width: 150%;*/
	/*padding: 6% 3%;*/
	width: 150vw;
	padding: 6vw 3vw;
}
.top_data .frame_box .graph_caption {
	font-size: 110%;
	margin-bottom: -.8em;
}
.top_data .frame_box .graph_box .memo,
.top_data .frame_box .graph_box .color_caption {
	max-width: 100%;
}
.top_data .frame_box .graph_box .memo {
	font-size: 75%;
	letter-spacing: normal;
	line-height: 1.6em;
}
.top_data .frame_box .graph_box .color_caption {
	letter-spacing: .05em;
}
.top_data .frame_box .source_txt {
	letter-spacing: normal;
	white-space: nowrap;
}

.top_data .counseling_box .top_index2 {
	margin-bottom: .5em;
}
.top_data .counseling_box .com_list1 {
	display: block;
}
	
/*スクロールバースタイル*/
.mCS-scl_color1 .mCSB_container {
	margin-bottom: 1.0em !important;	/*コンテンツとスクロールバーの隙間*/
}
.mCS-scl_color1.mCSB_scrollTools {
	height: 5px !important;	/*高さ*/
}
.mCS-scl_color1.mCSB_scrollTools .mCSB_draggerContainer {
	background-color: rgba(156,153,153,0.2);	/*背景色*/
	border-radius: 5px !important;
}
.mCS-scl_color1.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-scl_color1.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
	background-color: #9c9999 !important;	/*動かす箇所の色*/
}
.mCS-scl_color1.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	height: 100% !important;	/*動かす箇所のサイズを背景と揃える*/
	margin: 0 !important;
	border-radius: 5px !important;
}
.mCS-top_green.mCSB_scrollTools .mCSB_dragger {
	/*width: 150px !important;*/	/*動かす箇所のサイズを指定するとき*/
}
.mCS-scl_color1.mCSB_scrollTools .mCSB_dragger .mCSB_draggerRail {
	display: none;
}
}



/*top_message
---------------------------------------------------------*/
.top_message .w1140 {
	padding-top: 150px;
	padding-bottom: 120px;
	position: relative;
	color: #fff;
}
.top_message .abs_img {
	width: 44%;
	max-width: 500px;
	position: absolute;
	z-index: 0;
	right: 2%;
	top: 0;
	transform: translateY(-10%);
}
.top_message .title_box {
	margin-bottom: 70px;
}
.top_message .title_box .ft_min {
	font-size: 115%;
	letter-spacing: .15em;
	line-height: 1.6em;
}
.top_message .title_box .ft_aboreto {
	font-size: min(500%,8.0vw);
	letter-spacing: normal;
	line-height: 1.2em;
}

.top_message .txt > dt {
	font-size: min(200%,3.5vw);
	letter-spacing: .04em;
	line-height: 1.6em;
	margin-bottom: 1.2em;
}
.top_message .txt_sign {
	text-align: right;
	letter-spacing: .16em;
	line-height: 1.6em;
	margin-top: 2.0em;
}
.top_message .txt_sign dd {
	font-size: 165%;
	letter-spacing: .16em;
	line-height: 1.6em;
}
.top_message .txt_sign dd span {
	font-size: 70%;
	letter-spacing: .16em;
	line-height: 1.6em;
	display: inline-block;
	vertical-align: middle;
	margin-right: .5em;
	transform: translateY(-.2em);
}

.top_message .profile_box {
	margin-top: 40px;
}
.top_message .profile_box h3 {
	font-size: 115%;
	letter-spacing: normal;
	line-height: 1.0em;
	position: relative;
	margin-bottom: 40px;
}
.top_message .profile_box h3::before {
	content: "";
	position: absolute;
	width: calc(100% - 4.5em);
	height: 1px;
	background: #fff;
	opacity: 0.3;
	right: 0;
	top: .4em;
}
.top_message .profile_box .flex_box {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.top_message .profile_box .flex_box .box_l {
	width: 27%;
}
.top_message .profile_box .flex_box .box_r {
	width: 69%;
}
.top_message .profile_box .com_list1 > li {
	margin-top: .2em;
}
.top_message .profile_box .com_list1 > li::before {
	background: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_message .w1140 {
	padding-top: 14%;
	padding-bottom: 12%;
}
.top_message .abs_img {
	right: 0;
	top: 0;
	transform: translate(5%,-10%);
}
.top_message .title_box {
	margin-bottom: 6%;
}
.top_message .profile_box {
	margin-top: 4%;
}
.top_message .profile_box h3 {
	margin-bottom: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_message .w1140 {
	padding-top: 14%;
	padding-bottom: 16%;
}
.top_message .abs_img {
	width: 44%;
	right: 0;
	top: 0;
	transform: translate(6%,-15%);
}
.top_message .title_box {
	margin-bottom: 10%;
}
.top_message .title_box .ft_min {
	font-size: 90%;
	letter-spacing: .1em;
}
.top_message .title_box .ft_aboreto {
	font-size: 260%;
}

.top_message .txt > dt {
	font-size: 135%;
}
.top_message .txt_sign {
	font-size: 90%;
}

.top_message .profile_box {
	margin-top: 8%;
}
.top_message .profile_box h3 {
	margin-bottom: 6%;
}
.top_message .profile_box .flex_box {
	display: block;
}
.top_message .profile_box .flex_box .box_l {
	width: 100%;
	margin-bottom: 4%;
}
.top_message .profile_box .flex_box .box_r {
	width: 100%;
}
.top_message .profile_box .com_list1 {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top_message .profile_box .com_list1 > li {
	width: 48%;
}
.top_message .profile_box .com_list1 > li:nth-child(-n+2) {
	margin-top: 0 !important;
}
}



/*
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}