@charset "UTF-8";

/*header
---------------------------------------------------------*/
header{
	transform: translateY(-10px);
	transition: all 1s ease;
	opacity: 0;
}
.anime_on header{
	opacity: 1;
	transform: translateY(0px);
	transition-delay: .6s;
}

/*m_img
---------------------------------------------------------*/
.m_img_area{
	position: relative;
	opacity: 0;
	margin-bottom: min(150px,10vw);
}
.m_img_area,
.m_img{
	height: 100vh;
	min-height: 550px;
}
.m_img{
	position: relative;
	background: url("../images/top/m_img@2x.jpg")no-repeat top center;
	background-size: cover;
}
.m_img::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0) 1%,rgba(0,0,0,0.1) 100%);
	background-size: 100% auto;
	width: 100%;
	height: min(390px,36vw);
	bottom: 0;
	left: 0;
}
.m_img .m_copy{
	position: absolute;
	bottom: min(120px,7vw);
	left:min(160px,11vw);
	font-size: min(100%,1.5vw);
	z-index: 5;
}
.m_img .m_copy p{
	color: #fff;
	filter:
	  drop-shadow(0 0 5px rgba(0,0,0,0.7))
	  drop-shadow(0 0 15px rgba(0,0,0,0.7));
}
.m_img .m_copy p:nth-child(1){
	font-size:500%;
	letter-spacing: -0.03em;
	line-height: 1.25em;
}
.m_img .m_copy p:nth-child(2){
	font-size: 150%;
	letter-spacing:normal;
	line-height: 1.4em;
	margin-top: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area{
	margin-bottom: 6vw;
}
.m_img_area,
.m_img{
	min-height: auto!important;
	height:65vw!important;
}
.m_img .m_copy{
	left: 8vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area{
	margin-bottom: 10vw;
}
.m_img_area,
.m_img{
	height: 100%;
	min-height: 20vw;
}
.m_img::before{
	height: 60vw;
}
.m_img .m_copy{
	bottom: 12vw;
	left: 8%;
	font-size:2.1vw;
}
.m_img .m_copy p:nth-child(2){
	font-size: 190%;
	margin-top: 1em;
}
}



/* mission
---------------------------------------------------------*/
#mission .inbox{
	position: relative;
}
#mission .img{
	position: absolute;
	top:0;
	left: 0;
	width: 63%;
}
.top_index1{
	text-align: right;
}
.top_index1 .ft_co{
	font-size: min(850%,10.1vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-right: -0.15em;
}
#support .top_index1 .ft_co{
	font-size: min(650%,8vw);
	letter-spacing: 0.05em;
}
.top_index1 h2{
	font-size: min(140%,2vw);
	letter-spacing: 0.03em;
	line-height: 1em;
	margin-top: .8em;
}
#mission .top_index1{
	padding-top: min(55px,4vw);
	margin-bottom: min(30px,2vw);
}
#mission .top_index1 .ft_co span{
	position: relative;
	z-index: 10;
	color: #fff;
	mix-blend-mode: difference;
}
#mission .top_index1,
#mission .flex_box{
	position: relative;
	z-index: 2;
}
#mission .txt{
	position: relative;
	z-index: 3;
}
#mission .txt .txt_l{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 35.5%;
	text-align: right;
}
#mission .txt .txt_l img{
	margin-left: auto;
	margin-right: 0;
}
#mission .txt .txt_r{
	width: 60.5%;
	max-width: 706px;
	margin-left: auto;
	margin-right: 0;
}
#mission .txt .txt_r dt{
	text-align: right;
	font-size: min(210%,3.2vw);
	letter-spacing: 0.06em;
	line-height: 1.8em;
	margin-bottom: min(140px,9vw);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#mission .top_index1{
	padding-top: 3.5vw;
	margin-bottom: 1.5vw;
}
.top_index1 h2{
	margin-top: .6em;
}
#mission .txt .txt_r dt{
	margin-bottom: 8vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#mission .img{
	position: static;
	width: 100%;
	margin-top: 8%;
}
.top_index1{
	text-align: left;
}
.top_index1 .ft_co{
	font-size: 17vw;
	margin-right:0;
}
#support .top_index1{
	margin-bottom: 10%;
}
#support .top_index1 .ft_co{
	font-size:18vw;
}
.top_index1 h2{
	font-size: 4vw;
	margin-top: .5em;
}
#mission .top_index1{
	padding-top: 0;
	margin-bottom: 0;
}
#mission .top_index1 .ft_co span{
	color: #0c1b26;
	mix-blend-mode:normal;
}
#mission .txt .txt_l{
	position: static;
	width: 72%;
	text-align: right;
	margin-left: auto;
	margin-right: 0;
	margin-top: -10em;
	margin-bottom: -2.5em;
}
#mission .txt .txt_r{
	width: 100%;
	max-width:100%;
}
#mission .txt .txt_r dt{
	font-size: 160%;
	line-height: 1.6em;
	margin-bottom: 3%;
	text-align: left;
}
}



/* column
---------------------------------------------------------*/
#column .ovf{
	overflow: hidden;
}
#column .inbox{
	position: relative;
	margin-top: min(90px,6vw);
	margin-bottom: min(150px,12vw);
}
#column .flex_l{
	position: absolute;
	top:0;
	left: 0;
	width: 33%;
	height: 100%;
	text-align: center;
}
#column .flex_l::before{
	position: absolute;
	display: block;
	content: "";
	background: #f7f7f7;
	background-size: 100% auto;
	width: 500%;
	height: 100%;
	top:0;
	right: 0;
	z-index: 2;
}
#column .flex_l .flex_l_inbox{
	position: relative;
	z-index: 3;
	display: inline-block;
	text-align: left;
	margin: 0 auto;
}
#column .flex_l h2{
	font-size: min(230%,3.5vw);
	line-height: 1em;
}
#column .flex_l .ft_co{
	font-size: min(150%,2vw);
	line-height: 1em;
	margin-top: 1em;
}
#column .flex_l .com_btn1{
	margin-top: 4em;
}

#column .flex_r{
	position: relative;
	width: 65.5%;
	margin-left: auto;
	margin-right: 0;
}

#column .flex_r .flow_slide{
	overflow: visible;
}
#column .flex_r .flow_slide .swiper-slide {
	width: auto!important; 
}
#column .flex_r .flow_slide .swiper-scrollbar {
	position: relative;
	width: 100%;
	height:5px!important;
	background-color: #e7e8e9!important;
	border-radius: 0!important;
}
#column .flex_r .flow_slide .swiper-scrollbar-drag {
	background-color: #b0bfc8!important;
	height: 5px!important;
	border-radius: 0!important;
}
#column .flex_r .swiper-wrapper{
	width: min(3560px,315vw);
	display: flex;
    justify-content: start;
	padding-bottom: 2em;
}
#column .flex_r .swiper-wrapper .swiper-slide{
	width: min(320px,29vw);
	margin-right: min(40px,2.5vw);
}
#column .flex_r .swiper-wrapper .swiper-slide .thumbnail{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: min(200px,18vw);
	aspect-ratio: 320 / 200!important;
	margin-bottom: 1em;
}
#column .flex_r .swiper-wrapper .swiper-slide .thumbnail img{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 100%;
	object-fit: contain; /* 縦横比を維持して最大表示 */
	display: block;
	transition: 0.4s;
}
#column .flex_r .swiper-wrapper .swiper-slide:hover .thumbnail img{
	transform: translateY(-50%) scale(1.2);
	transition: 0.4s;
}
#column .flex_r .swiper-wrapper .day{
	position: relative;
	font-size:130%;
	line-height: 1em;
	padding-left: .6em;
	box-sizing: border-box;
	color: #616b72;
	margin-bottom: .5em;
}
#column .flex_r .swiper-wrapper .day::before{
	position: absolute;
	display: block;
	content: "";
	background: #8b8a81;
	background-size: 100% auto;
	width: .2em;
	height: .2em;
	border-radius: 50%;
	top: 55%;
	transform: translateY(-50%);
	left: 0;
}
#column .flex_r .swiper-wrapper .category{
	display: flex;
    justify-content: start;
	flex-wrap: wrap;
	margin-bottom: -1.3%;
}
#column .flex_r .swiper-wrapper .category li{
	width: 23%;
	margin-right: 1.3%;
	background:#7F7F7F;
	text-align: center;
	font-size: 80%;
	line-height: 1em;
	padding: .3em .5em;
	box-sizing: border-box;
	color: #fff;
	margin-bottom: 1.3%;
}
#column .flex_r .swiper-wrapper .category li:nth-child(4n){
	margin-right: 0;
}
#column .flex_r .swiper-wrapper .category li.column1,
#column .flex_r .swiper-wrapper .category li.column2{
	background: #c0a066;
}
#column .flex_r .swiper-wrapper .category li.column3,
#column .flex_r .swiper-wrapper .category li.column4{
	background: #5b91b0;
}
#column .flex_r .swiper-wrapper .title{
	font-size:95%;
	line-height: 1.6em;
	margin-top: .6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#column .inbox{
	margin-top: 8vw;
	margin-bottom: 10vw;
}
#column .flex_l{
	width: 27%;
	text-align: left;
}
#column .flex_r{
	width: 69%;
}
#column .flex_r .swiper-wrapper .category li{
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#column .inbox{
	margin-top: 15vw;
	margin-bottom:15vw;
}
#column .flex_l{
	position: static;
	width:100%;
	display: block;
}
#column .flex_l::before{
	display: none;
}
#column .flex_l .flex_l_inbox{
	width: 100%;
	margin: 0 auto 8%;
	display: flex;
    align-items: center;	
}
#column .flex_l h2{
	font-size: 6.5vw;
}
#column .flex_l .ft_co{
	font-size: 4vw;
	margin-top: 0;
	padding-left: 1em;
	padding-top: .2em;
}

#column .flex_r{
	width: 100%;
	margin-bottom: 7%;
}
#column .flex_r .flow_slide .swiper-scrollbar,
#column .flex_r .flow_slide .swiper-scrollbar-drag {
	height: 8px!important;
}
#column .flex_r .swiper-wrapper{
	width: 540vw;
	padding-bottom: 1.5em;
}
#column .flex_r .swiper-wrapper .swiper-slide{
	width: 50vw;
	margin-right: 4vw;
}
#column .flex_r .swiper-wrapper .swiper-slide .thumbnail{
	height:31vw;
	margin-bottom: .7em;
}
#column .flex_r .swiper-wrapper .category li{
	font-size: 70%;
	letter-spacing: normal;
	padding: .3em .5em;
}
#column .flex_r .swiper-wrapper .title{
	font-size: 88%;
}
}



/* doctor
---------------------------------------------------------*/
#doctor .dr_flex{
	display: flex;
    justify-content: space-between;
	margin-bottom: min(120px,8vw);
}
#doctor .dr_flex_l{
	position: relative;
	width: 50%;
	color: #fff;
	padding: min(100px,6vw) 0;
	padding-right: 4%;
	box-sizing: border-box;
	text-align: center;
}
#doctor .dr_flex_r{
	padding-top: min(100px,6vw);
}
#doctor .dr_flex_l::before{
	position: absolute;
	display: block;
	content: "";
	background: #5b91b0;
	background-size: 100% auto;
	width: 500%;
	height: 0;
	top:0;
	right: 0;
	transition: 1s;
}
#doctor .anime_on .dr_flex_l::before{
	height: 100%;
	transition: 1.5s;
}

#doctor .dr_flex_l > div{
	position: relative;
	z-index: 2;
	margin: 0 auto;
	text-align: left;
}
#doctor .profile1{
	max-width: 502px;
	margin: 0 auto min(50px,3.5vw)!important;
	display: flex;
    justify-content: space-between;
}
#doctor .profile1 .pro_l{
	width: 59%;
	max-width: 278px;
}
#doctor.dr_index1,
#doctor .profile1 .pro_l h3{
	text-align: center;
}
#doctor .dr_index1{
	padding-bottom: 1em;
	margin-bottom: 1em;
    font-size: min(150%,12vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	border-bottom: 1px solid #fff;
	text-align: center;
}
#doctor .dr_flex_r .dr_index1{
	border-color: #5b91b0;
}
#doctor .profile1 .pro_l .dr_index1 span,
#doctor .profile1 .pro_l h3 span{
	width: 100%;
	max-width: 242px;
	margin: 0 auto;
	display: inline-block;
	text-align: left;
}
#doctor .profile1 .pro_l h3{
    font-size: min(100%,1.6vw);
}
#doctor .profile1 .pro_l h3 .span1{
	font-size:113%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#doctor .profile1 .pro_l h3 .span2{
	font-size:250%;
	letter-spacing: 0.13em;
	line-height: 1.5em;
}
#doctor .dr_flex_r .profile1 .pro_l h3 .span2{
	font-size:200%;
	letter-spacing:normal;
}
#doctor .profile1 .pro_r{
	width:37%;
}
#doctor .profile2{
	max-width:395px;
	margin: 0 auto;
}
#doctor .profile2 .dr_reki{
	margin: min(45px,3.5vw) 0;
}
#doctor .dr_reki{
	font-size:95%;
	line-height: 1.6em;
	letter-spacing: 0.1em;
}
#doctor .dr_reki li{
	position: relative;
	padding-left: 1em;
	box-sizing: border-box;
	margin-bottom: .8em;
}
#doctor .dr_reki li::before{
	position: absolute;
	display: block;
	content: "";
	background: #5bc9db;
	background-size: 100% auto;
	width: 4px;
	height: 1em;
	top:.4em;
	left: 0;
}
#doctor .dr_flex_r{
	width: 46%;
	text-align: center;
}
#doctor .dr_flex_r .dr_flex_r_inbox{
	text-align: left;
	max-width: 550px;
	margin: 0 auto;
}
/*
#doctor .dr_flex_r .dr_index1{
	display: inline-block;
	/*max-width: 278px;*//*
	margin-bottom: 0;
	border-bottom: 1px solid #5b91b0;
	text-align: center;
	padding-left: .5em;
	padding-right: .5em;
	box-sizing: border-box;
}
#doctor .dr_flex_r .dr_index1 span{
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}
#doctor .dr_flex_r .txt{
	max-width:382px;
	margin: min(100px,5vw) auto;
}
#doctor .dr_flex_r .in_flex{
	max-width: 510px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
}
#doctor .dr_flex_r .in_flex_l{
	width: 59%;
}
#doctor .dr_flex_r .in_flex_l .ft_co{
	font-size: min(230%,3.4vw);
	letter-spacing: 0.08em;
	line-height: 1em;
	margin-bottom: .7em;
}
#doctor .dr_flex_r .in_flex_r{
	width: 37%;
}*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#doctor .dr_reki{
	letter-spacing: normal;
	line-height: 1.5em;
}
#doctor .dr_reki li{
	margin-bottom: .7em;
	padding-left: .8em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#doctor .dr_flex{
	display: block;
	margin-bottom:15vw;
}
#doctor .dr_flex_l{
	width: 105.5%;
	padding: 15vw 0;
	padding-right: 5%;
}
#doctor .dr_flex_r{
	padding-top:0;
}
#doctor .profile1{
	max-width: 100%;
	margin: 0 auto 6vw!important;
}
#doctor .profile1 .pro_l{
	max-width: 100%;
}
#doctor .dr_index1{
	padding-bottom: .8em;
	margin-bottom: .8em;
    font-size: 5vw;
}
#doctor .profile1 .pro_l .dr_index1 span,
#doctor .profile1 .pro_l h3 span{
	max-width: 100%;
}
#doctor .profile1 .pro_l h3{
    font-size: 3.2vw;
}
#doctor .profile1 .pro_l h3 .span2{
	font-size:220%;
}
#doctor .profile1 .pro_r{
}
#doctor .profile2{
	max-width:100%;
}
#doctor .profile2 .dr_reki{
	margin:8vw 0;
}
#doctor .dr_reki{
	letter-spacing:normal;
}
#doctor .dr_reki li{
	margin-bottom: .5em;
}
	
#doctor .dr_flex_r{
	width: 100%;
	padding-top: 15vw;
}
#doctor .dr_flex_r .dr_flex_r_inbox{
	max-width: 100%;
}
/*
#doctor .dr_flex_r .dr_index1{
	max-width: 100%;text-align: left;
}
#doctor .dr_flex_r .txt{
	max-width:100%;
	margin: 5vw auto 10vw;
}
#doctor .dr_flex_r .in_flex{
	max-width: 100%;
}
#doctor .dr_flex_r .in_flex_l .ft_co{
	font-size: 7.5vw;
	letter-spacing: 0.01em;
}*/
}








/* instagram
---------------------------------------------------------*/
#instagram .insta_swiper{
	position: relative;
}
#instagram .swiper-slide,
#instagram #sbi_images{
	position: relative;
	width: 200px!important;
	height: 265px!important;
	aspect-ratio: 200 / 265!important;
	text-align: center;
	line-height: 265px;
	margin-right: 20px;
}
#instagram .swiper-slide::before,
#instagram #sbi_images::before{
	position: absolute;
	display: block;
	content: "";
	background: #000;
	background-size: 100% 100%;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: 999;
	opacity: 0.03;
}
#instagram .insta_swiper img{
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 縦横比を維持して最大表示 */
	transition: 0.5s;
	opacity: 1;
}
#instagram .swiper-slide.prev-prev,
#instagram #sbi_images.prev-prev{
	width: 302px!important;
	height: 265px!important;
	aspect-ratio: 302 / 265!important;
	transition: 1.9s!important;
}
#instagram .swiper-slide.prev-prev img,
#instagram #sbi_images.prev-prev img,
#instagram .swiper-slide.prev-prev::before,
#instagram #sbi_images.prev-prev::before{
	transition: 1.9s;
	opacity: 0;
}
.insta_swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.bnr_w1500{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: 1325px;
	width: 100%;
}
#instagram .bnr{
	position: absolute;
	top:-1px;
	left: 0;
	z-index: 98;
	text-align: center;
	background:#f7f7f7;
	display: flex;
    justify-content: center;
    align-items: center;
	
	width: 302px!important;
	height: 267px!important;
	aspect-ratio: 302 / 267!important;
}
#instagram .bnr_inbox{
	width: 100%;
	display: inline-block;
}
#instagram .bnr h2{
	font-size: 360%;
	line-height: 1em;
	color: #416e8b;
}
#instagram .bnr h3{
	line-height: 1em;
	margin: .7em 0 1.3em;
}
#instagram .bnr a{
	display: inline-block;
	background: #416e8b;
	color: #fff;
	text-align: center;
	padding: 1.3em 0;
	box-sizing: border-box;
	border-radius: 100px;
	vertical-align: middle;
	line-height: 1em;
	transition: 0.4s;
	width: 100%;
	max-width: 13em;
}
#instagram .bnr a:hover{
	background: #3e4b5a;
	transition: 0.4s;
}
#instagram .bnr a span{
	position: relative;
	padding-left: 3em;
	box-sizing: border-box;
}
#instagram .bnr a i{
	position: absolute;
	top: 52%;
	transform: translateY(-50%);
	left: 0;
	font-size:160%;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1325px) {
#instagram .swiper-slide,
#instagram #sbi_images{
	width: 170px!important;
	height: 225px!important;
	line-height: 225px;
}
#instagram .swiper-slide.prev-prev,
#instagram #sbi_images.prev-prev{
	width: 254px!important;
	height: 225px!important;
}
.bnr_w1500{
	max-width: 1140px;
}
#instagram .bnr{
	width: 254px!important;
	height: 227px!important;
}
#instagram .bnr h2{
	font-size: 360%;
}
#instagram .bnr a span{
	padding-left: 2.5em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#instagram .swiper-slide,
#instagram #sbi_images{
	width: 120px!important;
	height: 159px!important;
	line-height: 159px;
	margin-right: 12px;
}
#instagram .swiper-slide.prev-prev,
#instagram #sbi_images.prev-prev,
#instagram .bnr{
	width: 181px!important;
	height: 159px!important;
}
.bnr_w1500{
	max-width: 780px;
}
#instagram .bnr{
	font-size:85%;
	height: 160px!important;
}
#instagram .bnr h3{
	margin: .7em 0 1.3em;
}
#instagram .bnr a{
	padding: .9em 0;
	max-width: 11.5em;
}
#instagram .bnr a span{
	padding-left: 2.2em;
}
#instagram .bnr a i{
	top: 55%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#instagram .swiper-slide img,
#instagram #sbi_images img{
	opacity: 1!important;
}
#instagram .swiper-slide.prev-prev,
#instagram #sbi_images.prev-prev{
	width: 200px!important;
	height: 265px!important;
	aspect-ratio: 200 / 265!important;
	transition: 0s!important;
	margin-right: 8px;
}
.bnr_w1500{
	position: static;
}
#instagram .bnr{
	position: static;
	display: block;
	width: 100%!important;
	height: auto!important;
	aspect-ratio: auto!important;
	text-align: left;
	padding: 0 5%;
	box-sizing: border-box;
	margin-bottom: 6%;
}

#instagram .bnr_inbox{
	position: relative;
}
#instagram .bnr h2{
	font-size: 220%;
}
#instagram .bnr h3{
	font-size: 90%;
	margin: .8em 0 0;
}
#instagram .bnr a{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -2%;
	padding: 1em 0;
	max-width: 11em;
	font-size: 85%;
	border-radius: 20px;
}
#instagram .bnr a span{
	padding-left: 2em;
}
#instagram .bnr a i{
	top: 53%;
	font-size:140%;
}
}






/* support
---------------------------------------------------------*/
#support .bg{
	position: relative;
	padding: min(150px,12vw) 0;
	background: linear-gradient(to bottom,  rgba(247,247,247,1) 0%,rgba(255,255,255,1) 100%); 
}
#support .bg_img{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../images/top/support_bg@2x.jpg")no-repeat bottom center;
	background-size: cover;
}
#support .w1220{
	position: relative;
	z-index: 2;
}
#support .list{
	margin: min(80px,5vw) auto 0;
	display: flex;
    justify-content: space-between;
	max-width: 990px;
}
#support .list li{
	width: 32%;
	max-width: 310px;
	text-align: center;
}
#support .list li a{
	position: relative;
	display: block;
	padding: min(60px,4.5vw) 4% min(60px,6.5vw);
	box-sizing: border-box;
	border:1px solid #c2c6c9;
	background: #fff;
	transition: 0.4s;
}
#support .list li a:hover{
	transition: 0.4s;
	border:1px solid #416e8b;
}
#support .list li h4{
	font-size:min(150%,4vw);
	line-height: 1.5em;
	letter-spacing: 0.1em;
}
#support .list li .icon{
	width: 4em;
	margin: 20px auto;
}
#support .list li i{
	position: absolute;
	bottom: .7em;
	right: 1.4em;
	font-size:160%;
	line-height: 1em;
	letter-spacing: 0;
}
#support .list li h5{
	font-size:105%;
	line-height: 1.6em;
	letter-spacing: 0.1em;
}

#support .txt{
	max-width: 1100px;
	margin: -1rem auto 0;
}
#support .txt h3{
	font-size:min(230%,3.5vw);
	letter-spacing: 0.08em;
	line-height: 1.8em;
	margin-bottom: 1em;
}
#support .txt p{
	display: inline-block;
	max-width: 635px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#support .bg{
	padding:9vw 0;
}
#support .txt h3{
	line-height: 1.7em;
	margin-bottom: .7em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#support .bg{
	padding: 15vw 0 10vw;
}
#support .bg_img{
	width: 195%;
	background-position: top left;
	background-size: 100% auto;
	opacity: .5;
}
#support .list{
	margin: 5vw auto 0;
	display: block;
}
#support .list li{
	width: 100%;
	max-width: 100%;
	text-align: left;
	margin-bottom: 2%;
}
#support .list li:last-child{
	margin-bottom: 0;
}
#support .list li a{
	padding: 7vw 0 8vw 25vw;
}
#support .list li h4{
	font-size: 4.5vw;
	margin-bottom: .5em;
}
#support .list li .icon{
	position: absolute;
	top: 35%;
	transform: translateY(-50%);;
	left: 6vw;
	width: 13.5vw;
}
#support .list li .icon img{
	width: 100%;
	height: auto;
}
#support .list li i{
	bottom: 23vw;
	right: 10vw;
	font-size:110%;
}
#support .list li h5{
	font-size: 90%;
	line-height: 1.8em;
	letter-spacing: 0.15em;
}

#support .txt{
	margin: 0 0 8%;
}
#support .txt h3{
	font-size: 5vw;
	margin-bottom: .5em;
}
#support .txt p{
	max-width: 100%;
}
}



/* company
---------------------------------------------------------*/
#company .bg{
	background: url("../images/top/company_shadow@2x.jpg") no-repeat top center #fff;
	background-size: 100% auto;
	padding: min(100px,8vw) 0;
}
#company .index{
	display: flex;
    justify-content: start;
    align-items: center;	
	margin-bottom:min(50px,4vw)
}
#company .index .ft_co{
	font-size:220%;
	letter-spacing: 0.05em;
	line-height: 1em;
	margin-right: .7em;
}
#company .index h2{
	font-size: 120%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#company ul{
	max-width: 1163px;
	margin: 0 auto;
	display: flex;
    justify-content: start;
	flex-wrap: wrap;
}
#company ul li{
	position: relative;
	width: 24%;
	margin-right: 1.3333%;
	margin-top: 1.3333%;
}
#company ul li:nth-child(-n+4){
	margin-top: 0;
}
#company ul li:last-child,
#company ul li:nth-child(4n){
	margin-right: 0;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#company .bg{
	padding: 15vw 0;
}
#company .index{
	display: block;
	margin-bottom: 10vw;
}
#company .index .ft_co{
	font-size: 200%;
	margin-right: 0;
}
#company .index h2{
	font-size: 105%;
	letter-spacing: 0.15em;
	margin-top: .8em;
}
#company ul li{
	width: 49%;
	margin-right: 2%!important;
	margin-top: 2%!important;
}
#company ul li:nth-child(2n){
	margin-right: 0!important;
}
#company ul li:nth-child(-n+2){
	margin-top: 0!important;
}
}