@charset "UTF-8";



/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	position: relative;
	height: 100vh;
}
.m_img_area .m_img {
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.m_img_area .m_img::before {
	opacity: 0.2;
}
.m_img_area .m_img .m_slider {
	position: relative;
	z-index: 0;
}
.m_img_area .m_img .m_logo {
	position: absolute;
	z-index: 1;
	width: 30%;
	max-width: 300px;
	right: 3%;
	bottom: 4%;
}
/*オープン告知*/
.m_img_area .m_img .open_kokuchi {
	position: absolute;
	z-index: 1;
	width: 15%;
	max-width: 225px;
	left: 4%;
	top: 17%;
}

.m_img_area .m_slider .swiper-slide {
	position: relative;
	overflow: hidden;
}
.m_img_area .m_slider .swiper-slide::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transform: scale(1.0,1.0);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transition: transform 13s linear;	/*m_sliderの「delay×2 + speed」*/
}
.m_img_area .m_slider .swiper-slide.efct_zoom[class*=-prev]::before,
.m_img_area .m_slider .swiper-slide.efct_zoom[class*=-active]::before {
	transform: scale(1.15,1.15);
}
.m_img_area .m_slider .swiper-slide[class*=-next]::before {
	transform: scale(1.0,1.0);
}
.m_img_area .m_slider .slide1::before {background-image: url("../images/top/m_img1@2x.jpg");}
.m_img_area .m_slider .slide2::before {background-image: url("../images/top/m_img2@2x.jpg");}
.m_img_area .m_slider .slide3::before {background-image: url("../images/top/m_img3@2x.jpg");}
.m_img_area .m_slider .slide4::before {background-image: url("../images/top/m_img4@2x.jpg");}

.m_img_area .m_slider .m_copy {
	position: absolute;
	z-index: 2;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 15%;
	font-feature-settings: "halt";
	text-align: center;
	color: #fff;
	font-size: min(140%,2.4vw);
	letter-spacing: .05em;
	line-height: 1.7em;
	opacity: 0;
	transition: all 1.5s 0.5s ease-out;
}
.m_img_area.anime_on .m_slider .m_copy {
	transition-delay: 1.5s;
}
.m_img_area .m_slider .m_copy .copy1 {
	width: 80%;
	max-width: 787px;
	margin: 0 auto 5%;
}
.m_img_area .m_slider .swiper-slide[class*=-active] .m_copy {
	opacity: 1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*オープン告知*/
.m_img_area .m_img .open_kokuchi {
	width: 20%;
	top: auto;
	bottom: 3%;
}
.m_img_area .m_slider .m_copy {
	left: 5%;
	bottom: 20%;
}
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
/*オープン告知*/
.m_img_area .m_img .open_kokuchi {
	top: 25%;
}

.m_img_area .m_slider .slide1::before {background-position: center 30%;}
.m_img_area .m_slider .m_copy {
	font-size: min(120%,3.5vh)
}
.m_img_area .m_slider .m_copy .copy1 {
	width: 100vh;
	margin-bottom: 6vh;
}
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (orientation: portrait) {
.m_img_area .m_slider .slide1::before {background-image: url("../images/top/m_img1_sp@2x.jpg");}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*オープン告知*/
.m_img_area .m_img .open_kokuchi {
	width: 30%;
	left: auto;
	right: 3%;
	top: 3%;
}
.m_img_area .m_slider .m_copy {
	top: 45%;
	bottom: auto;
	font-size: 90%;
	letter-spacing: normal;
	line-height: 1.7em;
}
.m_img_area .m_slider .m_copy .copy1 {
	width: 90%;
	max-width: 787px;
	margin: 0 auto 10%;
}
}

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



/*スマホメニュー
---------------------------------------------------------*/
.sp_menu_area .sp_menu_btn {
	width: 100%;
	padding: 6% 0 12%;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	text-align: left;
}
.sp_menu_area .sp_menu_btn > li {
	width: 48%;
	box-sizing: border-box;
	margin-top: .5em;
}
.sp_menu_area .sp_menu_btn > li:nth-child(-n+2) {
	margin-top: 0;
}
.sp_menu_area .sp_menu_btn li.col_left {
	padding-left: 8%;
}
.sp_menu_area .sp_menu_btn li.col_right {
	padding-right: 8%;
}
.sp_menu_area .sp_menu_btn li.sp_inmenu {
	display: none;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	padding: 5% 8%;
	background: #F4F4F4;
}
.sp_menu_area .sp_menu_btn > li > a,
.sp_menu_area .sp_menu_btn > li > span {
	display: block;
	padding: .6em 0;
	padding-left: 1.2em;
	position: relative;
	border-bottom: solid 1px rgba(49,37,32,0.5);
}
.sp_menu_area .sp_menu_btn > li > a::before,
.sp_menu_area .sp_menu_btn > li > span::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 45%;
	color: #ADA8A6;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.sp_menu_area .sp_menu_btn li.ord_5 {order: 5;}
.sp_menu_area .sp_menu_btn li.ord_6 {order: 6;}
.sp_menu_area .sp_menu_btn li.ord_7 {order: 7;}
.sp_menu_area .sp_menu_btn li.ord_8 {order: 8;}
.sp_menu_area .sp_menu_btn li.ord_9 {order: 9;}

.sp_menu_area .sp_inmenu_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.sp_menu_area .sp_inmenu_list li {
	width: 48%;
}
.sp_menu_area .sp_inmenu_list li a {
	display: block;
	padding: .6em 0;
	padding-left: 1.2em;
	position: relative;
}
.sp_menu_area .sp_inmenu_list li a::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 45%;
	color: #ADA8A6;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}



/*top_info
---------------------------------------------------------*/
.top_info {
	padding-top: 60px;
	padding-bottom: 30px;
}
.top_info .flex_box {
	width: 100%;
	max-width: 1260px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.top_info .flex_box .box_l {
	width: 33.5%;
	max-width: 420px;
}
.top_info .flex_box .box_c {
	width: 44%;
	max-width: 520px;
}
.top_info .flex_box .box_r {
	width: 18.5%;
	max-width: 230px;
}

.top_info .com_timetable .time_bg {
	background: #F7F7F8;
}
.top_info .com_timetable table {
	font-size: min(95%,1.4vw);	/*曜日に合わせる*/
}
.top_info .com_timetable table thead th {
	text-align: center;
}
.top_info .com_timetable table tbody th {
	width: 38%;
}
.top_info .com_timetable table tbody td {
	width: 8%;
}
.top_info .com_timetable table tbody td.space1 {
	width: 4%;
}
.top_info .com_timetable table tbody td.space2 {
	width: 2%;
}
.top_info .com_timetable .time_txt {
	font-size: min(75%,1.5vw);
}
.top_info .com_timetable .time_txt .icon-triangle {
	color: #CBB961;
}
.top_info .txt_access {
	margin-top: 1.0em;
}

.top_info .flex_box .box_r {
	font-size: min(75%,1.1vw);
	letter-spacing: .15em;
	line-height: 1.4em;
}
.top_info .tel_txt {
	margin-bottom: 30px;
}
.top_info .tel_txt .ft_gothic {
	margin-bottom: .5em;
}
.top_info .contact_list li {
	margin-top: 8px;
}
.top_info .contact_list a {
	display: block;
	background: rgba(147,147,150,0.75);
	padding: 0 8%;
	position: relative;
}
.top_info .contact_list a:hover {
	background: rgba(174,174,176,0.75);
}
.top_info .contact_list a::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 20%;
	background: #B4B4B5;
	right: 1px;
	top: 0;
	transform-origin: right bottom;
	transform: rotate(-45deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_info {
	padding-top: 5%;
	padding-bottom: 2%;
}
.top_info .flex_box {
    justify-content: center;
    flex-wrap: wrap;
}
.top_info .flex_box .box_l {
	width: 50%;
	max-width: 100%;
	order: 1;
}
.top_info .flex_box .box_c {
	width: 70%;
	max-width: 100%;
	margin-top: 5%;
	order: 3;
}
.top_info .flex_box .box_r {
	width: 40%;
	order: 2;
	margin-left: 5%;
}

.top_info .com_timetable .time_bg {
	padding-left: 3%;
	padding-right: 3%;
}
.top_info .com_timetable table {
	font-size: min(120%,2.0vw);	/*曜日に合わせる*/
}
.top_info .com_timetable .time_txt {
	font-size: 90%;
}
.top_info .txt_access {
	margin-top: .5em;
}

.top_info .flex_box .box_r {
	font-size: 80%;
}
.top_info .tel_txt {
	margin-bottom: 20px;
}
.top_info .tel_txt .ft_gothic {
	margin-bottom: .8em;
}
.top_info .contact_list li {
	margin-top: 5px;
}
}

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

.top_info .com_timetable table {
	font-size: 100%;	/*曜日に合わせる*/
}
.top_info .com_timetable .time_txt {
	font-size: 90%;
}
.top_info .txt_access {
	text-align: center;
}

.top_info .flex_box .box_r {
	font-size: 100%;
	letter-spacing: .1em;
	line-height: 1.4em;
	text-align: center;
}
.top_info .tel_txt {
	margin-bottom: 6%;
}
.top_info .tel_txt .ft_gothic {
	margin-bottom: 1.0em;
}
.top_info .contact_list {
	display: flex;
    justify-content: space-between;
}
.top_info .contact_list li {
	margin-top: 1.0;
	width: 49%;
}
}



/*トップ共通
---------------------------------------------------------*/
.top_inbox {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.top_no {
	font-family: trajan-pro-3, serif;
	font-weight: 200;
	font-style: normal;
	font-size: 180%;
	letter-spacing: .08em;
	line-height: 1.0em;
}
.top_lead {
	font-size: min(265%,3.5vw);
	letter-spacing: .1em;
	line-height: 1.6em;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_no {
	font-size: 150%;
}
.top_lead {
	font-size: 160%;
	letter-spacing: .05em;
	line-height: 1.6em;
}
}



/*box01
---------------------------------------------------------*/
.box01 {
	padding: 100px 0 130px;
	position: relative;
}
.box01 .obj_box {
	width: calc(50% - 270px);
	position: absolute;
	z-index: 0;
	right: 0;
	top: 0;
	transform: translateY(-12%);
	overflow: hidden;
}
.box01 .box01_slider1 .swiper-slide {
	width: 25vw;
	max-width: 350px;
	transition: opacity 0.4s;
}
.box01 .box01_slider1 .swiper-slide[class*=-prev] {
	opacity: 0;
}
.box01 .w1280 {
	position: relative;
	z-index: 1;
}
.box01 h2 {
	font-size: min(440%,5.5vw);
	letter-spacing: .05em;
	line-height: 1.3em;
	margin-bottom: 1.7em;
}
.box01 .img_flex {
	width: 76%;
	max-width: 940px;
	margin: 70px auto 0;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.box01 .img_flex .img_l {
	width: 48%;
	max-width: 450px;
}
.box01 .img_flex .arrow {
	width: 12%;
	max-width: 111px;
	padding-top: 10%;
}
.box01 .img_flex .img_r {
	width: 35%;
	max-width: 320px;
	position: relative;
}

.box01 .img_flex .arrow div:first-child {
	margin-bottom: 18%;
}
.box01 .img_flex .img_r .ft_trajan_el {
	font-size: min(660%,7.5vw);
	letter-spacing: normal;
	line-height: 1.0em;
	position: absolute;
	z-index: 1;
	right: 0;
	top: -.65em;
	transform: translateX(60%);
}
.box01 .img_flex .img_r .ft_trajan_el span {
	display: block;
	width: .5em;
	position: absolute;
	left: 43%;
	bottom: 55%;
}
.box01 .img_flex .img_r .box01_slider2 {
	position: relative;
	z-index: 0;
}
.box01 .box01_slider2 .swiper-slide img {
	transform: rotate(-6deg);
	transition: transform 1.0s;
}
.box01 .box01_slider2 .swiper-slide[class*=-active] img {
	transform: rotate(0deg);
}

/*表示アニメーション*/
.box01 .img_flex .arrow span {
	display: block;
	opacity: 0;
	transition: all 0.6s 0.8s ease-out;
}
.box01 .img_flex .arrow div:first-child span {
	transform: translateX(-50%);
}
.box01 .img_flex .arrow div:last-child span {
	transform: translateX(50%);
}
.box01 .anime_on .img_flex .arrow span {
	opacity: 1;
	transform: translateX(0%) !important;
}
.box01 .img_flex .img_r .ft_trajan_el span {
	opacity: 0;
	transform: translate(-100%,100%);
	transition: all 0.8s 1.0s ease-out;
}
.box01 .anime_on .img_flex .img_r .ft_trajan_el span {
	opacity: 1;
	transform: translate(0%,0%);
}

.box01 dl {
	position: relative;
	padding-top: 50px;
}
.box01 dt {
	position: absolute;
	bottom: 100%;
	left: 58%;
	transform: translateY(.5em);
}
.box01 dd .sp_txt_l {
	/*width: 80%;*/
	margin: 0 auto;
}
.box01 .link_box {
	margin-top: 50px;
	padding-top: 50px;
	position: relative;
	text-align: center;
}
.box01 .link_box::before {
	content: "";
	position: absolute;
	margin: auto;
	width: 50%;
	max-width: 560px;
	height: 1px;
	background: #ccc;
	left: 0;
	right: 0;
	top: 0;
}
.box01 .link_box .com_btn2 {
	margin-top: .5em;
}
.box01 .link_box .com_btn2 a {
	font-size: 150%;
}

/* 1500px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1500px) {
.box01 .obj_box {
	width: 32%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box01 {
	padding: 10% 0 10%;
}
.box01 .obj_box {
	width: 40%;
}
.box01 h2 {
	margin-bottom: 5%;
}
.box01 .img_flex {
	width: 85%;
	margin-top: 5%;
}
.box01 .img_flex .img_r .ft_trajan_el {
	right: 0;
	top: -.65em;
	transform: translateX(35%);
}
.box01 dl {
	padding-top: 5%;
}
.box01 dd .sp_txt_l {
	width: 100%;
}
.box01 .link_box {
	margin-top: 5%;
	padding-top: 5%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box01 {
	padding: 12% 0 14%;
}
.box01 .obj_box {
	width: 40%;
}
.box01 h2 {
	font-size: 240%;
	line-height: 1.4em;
	margin-bottom: 0.8em;
}
.box01 .top_no {
	text-align: right;
}
.box01 .img_flex {
	width: 100%;
	margin-top: 4%;
    align-items: flex-end;
}
.box01 .img_flex .img_l {
	width: 43%;
}
.box01 .img_flex .arrow {
	width: 14%;
	padding-top: 0;
	transform: rotate(45deg);
}
.box01 .img_flex .img_r {
	width: 40%;
	text-align: right;
	transform: translateY(15%);
}

.box01 .img_flex .img_r .ft_trajan_el {
	display: inline-block;
	font-size: 320%;
	margin-bottom: .1em;
	position: relative;
	right: auto;
	top: auto;
	transform: none;
}

.box01 dl {
	padding-top: 8%;
}
.box01 dt {
	position: static;
	transform: none;
	margin-bottom: .5em;
}
.box01 dd .sp_txt_l {
	width: 100%;
}
.box01 .link_box {
	margin-top: 8%;
	padding-top: 8%;
}
.box01 .link_box::before {
	width: 100%;
	max-width: 100%;
}
.box01 .link_box .com_btn2 {
	margin-top: .5em;
}
.box01 .link_box .com_btn2 a {
	font-size: 140%;
}
}



/*box02
---------------------------------------------------------*/
.box02 {
	background: url("../images/top/valu_bg1@2x.jpg") no-repeat left center;
	background-size: auto 100%;
	padding: 130px 0 100px;
	overflow: hidden;
}
.box02 .w1280 {
	position: relative;
}
.box02 .top_inbox {
	margin-bottom: 40px;
}
.box02 .img_box {
	width: 55%;
	max-width: 700px;
	position: absolute;
	z-index: 0;
	right: 2%;
	top: 3%;
}
.box02 .txt_box {
	width: 43%;
	max-width: 550px;
	position: relative;
	z-index: 1;
}

.box02 .img_box .title_box {
	text-align: right;
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
	transform: translate(5%,-30%);
}
.box02 .img_box .title_box .ft_trajan_el {
	color: #B4B4B5;
	font-size: min(660%,7.5vw);
	letter-spacing: normal;
	line-height: 1.0em;
}
.box02 .img_box .title_box p:not(.ft_trajan_el) {
	font-size: 120%;
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-top: -.2em;
}
.box02 .img_box .circle_box {
	position: relative;
	text-align: center;
	width: 100%;
	aspect-ratio: 1 / 1;
}
.box02 .img_box .circle_box .circle_line,
.box02 .img_box .circle_box .circle_line::before,
.box02 .img_box .circle_box .circle_line::after {
	position: absolute;
	z-index: 0;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	border: solid 1px #E1E1E1;
}
.box02 .img_box .circle_box .circle_line {
	width: 100%;
}
.box02 .img_box .circle_box .circle_line::before,
.box02 .img_box .circle_box .circle_line::after {
	content: "";
	display: block;
}
.box02 .img_box .circle_box .circle_line::before {
	width: 42.8%;
}
.box02 .img_box .circle_box .circle_line::after {
	width: 71.4%;
}
.box02 .img_box .circle_box p {
	width: 40%;
	max-width: 280px;
	position: absolute;
	z-index: 2;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.box02 .img_box .circle_box li {
	position: absolute;
	z-index: 1;
}
.box02 .img_box .circle_box li:nth-child(1) {
	width: 16.5%;
	max-width: 113px;
	left: 14%;
	top: 19%;
}
.box02 .img_box .circle_box li:nth-child(2) {
	width: 23%;
	max-width: 159px;
	left: 0%;
	top: 34%;
}
.box02 .img_box .circle_box li:nth-child(3) {
	width: 16%;
	max-width: 111px;
	left: 7%;
	top: 61%;
}
.box02 .img_box .circle_box li:nth-child(4) {
	width: 29.5%;
	max-width: 205px;
	right: 28%;
	top: 73%;
}
.box02 .img_box .circle_box li:nth-child(5) {
	width: 16%;
	max-width: 111px;
	right: 4%;
	top: 48%;
}
.box02 .img_box .circle_box li:nth-child(6) {
	width: 19.5%;
	max-width: 135px;
	right: 8%;
	top: 28%;
}

/*表示アニメーション*/
.box02 .img_box .circle_box .circle_line,
.box02 .img_box .circle_box .circle_line::before,
.box02 .img_box .circle_box .circle_line::after {
	transform: scale(0,0);
	transition: transform 1.0s ease-out;
}
.box02 .img_box.anime_on .circle_box .circle_line,
.box02 .img_box.anime_on .circle_box .circle_line::before,
.box02 .img_box.anime_on .circle_box .circle_line::after {
	transform: scale(1,1);
}
.box02 .img_box .circle_box p,
.box02 .img_box .circle_box li {
	opacity: 0;
	transition: opacity 2.0s linear;
}
.box02 .img_box.anime_on .circle_box p,
.box02 .img_box.anime_on .circle_box li {
	opacity: 1;
}
.box02 .img_box .circle_box li:nth-child(1),
.box02 .img_box .circle_box li:nth-child(3),
.box02 .img_box .circle_box li:nth-child(6) {
	transition-delay: 0.6s;
}
.box02 .img_box .circle_box li:nth-child(2),
.box02 .img_box .circle_box li:nth-child(4),
.box02 .img_box .circle_box li:nth-child(5) {
	transition-delay: 1.0s;
}

.box02 .txt_box dl {
	width: 100%;
	max-width: 380px;
	margin-left: auto;
	margin-right: 0;
}
.box02 .txt_box .top_lead {
	margin-bottom: .7em;
}

/* 1450px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1450px) {
.box02 .img_box .title_box {
	transform: translate(0%,-30%);
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box02 {
	padding: 10% 0 12%;
}
.box02 .top_inbox {
	margin-bottom: 6%;
}
.box02 .img_box {
	top: 50%;
	transform: translateY(-40%);
}
.box02 .txt_box {
	width: 100%;
	max-width: 100%;
}

.box02 .img_box .title_box {
	transform: translate(0%,-60%);
}
.box02 .img_box .title_box p:not(.ft_trajan_el) {
	font-size: 110%;
}
.box02 .txt_box dl {
	max-width: 100%;
	margin-left: 0;
	margin-right: auto;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box02 {
	background: url("../images/top/valu_bg1_sp@2x.jpg") no-repeat center top;
	background-size: contain;
	padding: 19% 0 14%;
}
.box02 .top_inbox {
	text-align: right;
	margin-bottom: 6%;
}
.box02 .img_box {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
	right: auto;
	top: auto;
	margin-bottom: -10%;
}
.box02 .txt_box {
	width: 100%;
	max-width: 100%;
	position: relative;
}

.box02 .img_box .title_box {
	position: relative;
	right: auto;
	top: auto;
	transform: none;
	margin-bottom: -3%;
}
.box02 .img_box .title_box .ft_trajan_el {
	font-size: 430%;
}
.box02 .img_box .title_box p:not(.ft_trajan_el) {
	font-size: 120%;
	margin-top: 0;
	position: absolute;
	right: 0;
	top: 100%;
}
.box02 .img_box .circle_box {
	width: 106%;
	margin-left: -3%;
}
.box02 .img_box .circle_box .circle_line {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}
.box02 .img_box .circle_box p {
	width: 50%;
}

.box02 .txt_box dl {
	max-width: 100%;
}
.box02 .txt_box .top_lead {
	margin-bottom: .5em;
}
}



/*top_medical
---------------------------------------------------------*/
.top_medical {
	padding: 70px 0 70px;
}
.top_medical .txt_flex {
	margin-top: 40px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.top_medical .txt_flex .fs19 {
	line-height: 1.8em;
}
.top_medical .txt_flex .com_btn1 {
	margin-top: 0;
}

.top_medical .com_case_view {
	margin-top: 90px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_medical {
	padding: 8% 0 8%;
}
.top_medical .txt_flex {
	margin-top: 4%;
}
.top_medical .com_case_view {
	margin-top: 8%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_medical {
	padding: 10% 0 12%;
}
.top_medical .txt_flex {
	margin-top: 6%;
	display: block;
	text-align: center;
}
.top_medical .txt_flex .fs19 {
	line-height: 1.8em;
}
.top_medical .txt_flex .com_btn1 {
	margin-top: 1.0em;
}

.top_medical .com_case_view {
	margin-top: 10%;
}
}



/*box03
---------------------------------------------------------*/
.box03 {
	padding: 180px 0 40px;
}
.box03 .in_box {
	position: relative;	/*top_inbox の位置基準*/
}
.box03 .top_inbox {
	position: absolute;
	z-index: 1;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-50%);
}
.box03 .slide_box {
	width: 100%;
	max-width: 1250px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 0;
}
.box03 .slide_box .box03_slider1 {
	width: 100vw;
	overflow: hidden;
}
.box03 .box03_slider1 .swiper-slide {
	width: 80vw;
	max-width: 1100px;
}
.box03 .com_slide_dotto {
	width: 96%;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
}

.box03 .point_list {
	width: 48vw;
	max-width: 530px;
	position: absolute;
	right: 4%;
	transform: translateY(-130%);
}
.box03 .point_list ul {
	display: flex;
    justify-content: space-between;
}
.box03 .point_list li {
	width: 32.4%;
	max-width: 170px;
}

.box03 .txt_box .flex_box1 {
	margin-top: 60px;
	display: flex;
    justify-content: space-between;
	margin-bottom: 50px;
}
.box03 .txt_box .flex_box1 .box_l {
	width: 25.6%;
}
.box03 .txt_box .flex_box1 .box_r {
	width: 74.4%;
}
.box03 .txt_box .flex_box1 .box_l p {
	font-size: min(205%,3.2vw);
	letter-spacing: .05em;
	line-height: 1.7em;
}

.box03 .txt_box .flex_box2 {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.box03 .txt_box .flex_box2 .box_l {
	width: 35%;
}
.box03 .txt_box .flex_box2 .box_r {
	width: 75%;
}
.box03 .txt_box .flex_box2 .ft_trajan_el {
	display: inline-block;
	color: #E8E8E8;
	font-size: min(765%,9.2vw);
	letter-spacing: normal;
	line-height: .85em;
	transform: translateY(-5%);
	position: relative;
}
.box03 .txt_box .flex_box2 .ft_trajan_el span {
	display: block;
	width: .6em;
	position: absolute;
	left: 72%;
	top: 43%;
	transform-origin: left center;
	animation: rotate 20s infinite linear;
}
.box03 .txt_box .flex_box2 .com_btn_list {
    justify-content: flex-end;
}
/*アニメーション*/
@keyframes rotate {
from {
	transform: rotate(0deg);
}
to {
	transform: rotate(360deg);
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box03 {
	padding: 10% 0 4%;
}
.box03 .point_list {
	width: 50vw;
	right: 2%;
	transform: translateY(-110%);
}
.box03 .txt_box .flex_box1 {
	margin-top: 6%;
	margin-bottom: 4%;
}
.box03 .txt_box .flex_box1 .box_l {
	width: 30%;
}
.box03 .txt_box .flex_box1 .box_r {
	width: 70%;
}
.box03 .txt_box .flex_box1 .box_l p {
	font-size: 3.5vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box03 {
	padding: 0 0 14%;
}
.box03 .com_slide_dotto {
	position: static;
}
.box03 .top_inbox {
	position: static;
	transform: none;
	margin-top: 6%;
}

.box03 .txt_box {
	position: relative;	/*stress free の位置基準*/
}
.box03 .txt_box .flex_box1 {
	margin-top: 6%;
	display: block;
	margin-bottom: 6%;
}
.box03 .txt_box .flex_box1 .box_l {
	width: 100%;
}
.box03 .txt_box .flex_box1 .box_r {
	width: 100%;
}
.box03 .txt_box .flex_box1 .box_l p {
	font-size: 170%;
	line-height: 1.6em;
	margin-bottom: .6em;
}
.box03 .point_list {
	width: 106%;
	margin-left: -3%;
	margin-bottom: 4%;
	position: static;
	transform: none;
}

.box03 .txt_box .flex_box2 {
	display: block;
}
.box03 .txt_box .flex_box2 .box_l {
	width: auto;
	position: absolute;
	right: 8%;
	top: 8vw;
}
.box03 .txt_box .flex_box2 .box_r {
	width: 100%;
}
.box03 .txt_box .flex_box2 .ft_trajan_el {
	font-size: 370%;
}
.box03 .txt_box .flex_box2 .com_btn_list {
    justify-content: center;
}
}



/*box0405
---------------------------------------------------------*/
.box0405 {
	padding: 120px 0;
}
.box0405 .flex_box {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.box0405 .flex_box > div {
	width: 48%;
	max-width: 500px;
}
.box0405 .flex_box .top_no {
	margin-bottom: .6em;
}
.box0405 .flex_box dt {
	font-size: min(175%,2.8vw);
	letter-spacing: .05em;
	line-height: 1.6em;
	margin: .8em 0 .5em;
}

.box0405 .box04 .img_box {
	padding: 3% 0 7%;
}
.box0405 .box04 .img_box .box04_slider1 {
	position: relative;
}
.box0405 .box04 .img_box .box04_slider1 .com_slide_dotto {
	position: absolute;
	right: 0;
	top: 100%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box0405 {
	padding: 8% 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box0405 {
	padding: 10% 0;
}
.box0405 .flex_box {
	display: block;
}
.box0405 .flex_box > div {
	width: 100%;
	max-width: 100%;
	margin-bottom: 8%;
}
.box0405 .flex_box > div:last-child {
	margin-bottom: 0;
}
.box0405 .flex_box .top_no {
	margin-bottom: .6em;
}
.box0405 .flex_box dt {
	font-size: 140%;
	margin: .8em 0 .3em;
}

.box0405 .box04 .img_box {
	padding: 0;
}
.box0405 .box04 .img_box .box04_slider1 .com_slide_dotto {
	position: static;
}
}



/*news_blog
---------------------------------------------------------*/
.news_blog {
	padding: 80px 0 80px;
}
.news_blog .flex_box {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
	margin-bottom: 80px;
}
.news_blog .flex_box > div {
	width: 48%;
	max-width: 550px;
}
.news_blog .flex_box .title_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 40px;
}
.news_blog .flex_box .title_box .ft_trajan_el {
	font-size: min(265%,3.2vw);
	letter-spacing: -.05em;
	line-height: 1.0em;
}
.news_blog .flex_box .title_box .ft_trajan_el span {
	font-size: 75%;
}
.news_blog .flex_box .title_box .com_btn1 {
	margin-top: 0;
}
.news_blog .flex_box .title_box .com_btn1 a {
	font-size: 75%;
	min-width: 7em;
	padding-top: .8em;
	padding-bottom: .8em;
}
.news_blog .flex_box .scl_area {
	position: relative;
	height: 350px;
}
.news_blog .flex_box .scl_area ul {
	width: 90%;
}
.news_blog .flex_box .scl_area li {
	padding-top: .2em;
	margin-bottom: 1.5em;
	padding-left: 0;
	padding-right: 3%;
	transition: all 0.8s ease-out;
}
.news_blog .flex_box .scl_area li:hover {
	transition: all 0.4s ease-out;
	padding-left: 3%;
	padding-right: 0;
}
.news_blog .flex_box .scl_area li .ft_trajan_re {
	color: #B4B4B5;
	font-size: 94%;
	letter-spacing: .05em;
	line-height: 1.2em;
	margin-bottom: .5em;
}
.news_blog .flex_box .scl_area li dl {
	padding-left: 1.0em;
	position: relative;
}
.news_blog .flex_box .scl_area li dl::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 50%;
	position: absolute;
	left: 0;
	top: -.7em;
}
.news_blog .flex_box .scl_area li dt {
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-bottom: .4em;
}
.news_blog .flex_box .scl_area li dd {
	color: #666;
	line-height: 1.6em;
}

.news_blog .bnr_list {
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	text-align: center;
}
.news_blog .bnr_list > li {
	width: 24%;
	max-width: 310px;
	margin-right: 1.3333%;
	margin-top: 2%;
}
.news_blog .bnr_list > li:nth-child(4n),
.news_blog .bnr_list > li:last-child {
	margin-right: 0;
}
.news_blog .bnr_list > li:nth-child(-n+4) {
	margin-top: 0;
}
.news_blog .bnr_list > li a {
	display: block;
	background: #F7F6F4;
	color: rgba(49,37,32,0.6);
	letter-spacing: .04em;
	line-height: 1.4em;
	padding: 2.3em 0;
}
.news_blog .bnr_list > li a:hover {
	background: #ECEAE5;
}
.news_blog .bnr_list > li a span {
	padding-left: 2.8em;
	position: relative;
}
.news_blog .bnr_list > li a span::before {
	content: "";
	position: absolute;
	width: 1.8em;
	height: 1.8em;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url("../images/icon_inst@2x.png") no-repeat center center;
	background-size: contain;
}
.news_blog .bnr_list > li.icon_ft a span::before {
	background-image: url("../images/icon_fb@2x.png");
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.news_blog {
	padding: 6% 0 8%;
}
.news_blog .flex_box {
	margin-bottom: 6%;
}
.news_blog .flex_box .title_box {
	margin-bottom: 8%;
}
.news_blog .flex_box .title_box .ft_trajan_el {
	font-size: 3.4vw;
}
.news_blog .flex_box .title_box .ft_trajan_el span {
	font-size: 75%;
}
.news_blog .flex_box .title_box .com_btn1 a {
	min-width: 7em;
	font-size: 80%;
	letter-spacing: .05em;
	padding-left: 1.0em;
	padding-right: 2.5em;
}
.news_blog .flex_box .title_box .com_btn1 a .com_arrow1 {
	right: .5em;
}
.news_blog .flex_box .scl_area ul {
	width: 95%;
}
.news_blog .flex_box .scl_area li dd {
	letter-spacing: normal;
	line-height: 1.4em;
}

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.news_blog {
	padding: 10% 0 10%;
}
.news_blog .flex_box {
	display: block;
	margin-bottom: 10%;
}
.news_blog .flex_box > div {
	width: 100%;
	max-width: 100%;
	margin-bottom: 14%;
}
.news_blog .flex_box > div:last-child {
	margin-bottom: 0;
}
.news_blog .flex_box .title_box {
	margin-bottom: 4%;
}
.news_blog .flex_box .title_box .ft_trajan_el {
	font-size: 180%;
}
.news_blog .flex_box .title_box .com_btn1 a {
	font-size: 85%;
}
.news_blog .flex_box .scl_area {
	height: 50vw;
	max-height: 350px;
}
.news_blog .flex_box .scl_area ul {
	width: 95%;
}
.news_blog .flex_box .scl_area li {
	margin-bottom: 1.5em;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.news_blog .flex_box .scl_area li dl::before {
	top: -.2em;
}
.news_blog .flex_box .scl_area li dt {
	font-size: 105%;
	margin-bottom: .2em;
}

.news_blog .bnr_list {
    justify-content: space-between;
}
.news_blog .bnr_list > li {
	width: 49%;
	max-width: 100%;
	margin-right: 0;
	margin-top: 2% !important;
}
.news_blog .bnr_list > li:nth-child(-n+2) {
	margin-top: 0 !important;
}
.news_blog .bnr_list > li a {
	padding: 1.6em 0;
}
}



/*top_recruit
---------------------------------------------------------*/
.top_recruit {
	padding-bottom: 100px;
}
.top_recruit .recr_slider {
	position: relative;
}
.top_recruit .recr_slider .swiper-slide {
	width: 30vw;
	max-width: 380px;
}
.top_recruit .in_box {
	width: 85%;
	max-width: 900px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	padding-top: 50px;
}
.top_recruit .in_box h2 {
	color: #E5DCB0;
	font-size: min(690%,10.5vw);
	letter-spacing: -.02em;
	line-height: 1.0em;
	position: absolute;
	z-index: 2;
	left: -.1em;
	top: 0;
	transform: translateY(-50%);
}
.top_recruit .in_box .txt1,
.top_recruit .in_box .txt2 {
	position: relative;
	z-index: 1;
}
.top_recruit .in_box .txt1 {
	font-size: 160%;
	letter-spacing: .05em;
	line-height: 1.6em;
	margin-bottom: .2em;
}
.top_recruit .in_box .txt2 {
	font-size: 94%;
	letter-spacing: .05em;
	line-height: 1.6em;
}
.top_recruit .circle_btn {
	font-size: min(160%,2.2vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	width: 16vw;
	max-width: 230px;
	position: absolute;
	z-index: 0;
	right: 0;
	top: 0;
	transform: translateY(-30%);
}
.top_recruit .circle_btn a {
	display: block;
	aspect-ratio: 1 / 1;
	background: rgba(203,185,97,0.90);
	border-radius: 50%;
	text-align: center;
	color: #fff;
}
.top_recruit .blocklink:hover .circle_btn a {
	background: rgba(181,151,52,0.9);
}
.top_recruit .circle_btn p {
	display: block;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 55%;
}
.top_recruit .circle_btn .com_arrow1 {
	color: #312520;
	font-size: 100%;
	margin: 0 auto 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_recruit {
	padding-bottom: 8%;
}
.top_recruit .in_box {
	width: 95%;
	padding-top: 6%;
}
.top_recruit .in_box h2 {
	font-size: 12vw;
}
.top_recruit .circle_btn {
	font-size: 2.6vw;
	width: 18vw;
	transform: translateY(-25%);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_recruit {
	padding-bottom: 12%;
}
.top_recruit .recr_slider .swiper-slide {
	width: 50vw;
}
.top_recruit .in_box {
	width: 100%;
	padding-top: 10%;
}
.top_recruit .in_box h2 {
	font-size: 350%;
	letter-spacing: -.02em;
}
.top_recruit .in_box .txt1 {
	font-size: 150%;
}
.top_recruit .in_box .txt2 {
	font-size: 105%;
	letter-spacing: normal;
}
.top_recruit .circle_btn {
	font-size: 120%;
	letter-spacing: .1em;
	width: auto;
	max-width: 100%;
	position: static;
	transform: none;
	margin-top: 1.0em;
}
.top_recruit .circle_btn a {
	display: inline-block;
	aspect-ratio: auto;
	border-radius: 3.0em;
	padding: .8em 1.5em;
	padding-right: 5.0em;
	position: relative;
}
.top_recruit .circle_btn p {
	position: static;
}
.top_recruit .circle_btn .com_arrow1 {
	font-size: 100%;
	margin: 0;
	position: absolute;
	right: 1.2em;
	top: 50%;
	transform: translateY(-50%);
}
}



/*footer
---------------------------------------------------------*/
footer .f_bottom_img {
	width: 100%;
	height: 35.4vw;
	max-height: 530px;
	background: url("../images/top/f_img@2x.jpg") no-repeat center center;
	background-size: cover;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer .f_bottom_img {
	height: 50vw;
	max-height: 100%;
	background-position: center bottom;
}
}



/*内覧会・相談会
---------------------------------------------------------*/
.top_nairankai {
	width: 94%;
	max-width: 1370px;
	margin-left: auto;
	margin-right: auto;
	border-bottom: solid 1px #312520;
	padding: 60px 0;
}
.top_nairankai .flex_box {
	width: 90%;
	max-width: 910px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.top_nairankai .flex_box p:first-child {
	width: 57%;
}
.top_nairankai .flex_box p:last-child {
	width: 40%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.top_nairankai {
	padding: 7% 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.top_nairankai {
	width: 90%;
	padding: 8% 0;
}
.top_nairankai .flex_box {
	width: 90%;
	display: block;
}
.top_nairankai .flex_box p:first-child {
	width: 100%;
	margin-bottom: 2%;
}
.top_nairankai .flex_box p:last-child {
	width: 100%;
}
}



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

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

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