@charset "UTF-8";

/* m_img_erea
---------------------------------------------------------*/
.m_img_erea {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100vw;
	height: 100vh;
	min-height: min(calc(100vw * 0.6), 800px);
	padding-top: min(140px,11vw);
	box-sizing: border-box;
}
.m_img {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.gallery-wrapper {
	position: absolute;
	width: 100vw;
	height: 100%;
	overflow: hidden;
	left: 0;
	top: 0;
	z-index: -10;
}
.gallery {
	position: relative;
	display: flex;
	width: 10720px;
	height: 100%;
	animation: slide 100s linear infinite;
	will-change: scale;
	--scale: 1;
	scale: var(--scale);
	transform-origin: left top;
}
@keyframes slide {
  from { transform: translateX(0); }
  to   { transform: translateX(-5360px);/* 1セット分だけ左へ */ }
}
.gallery-set {
	position: relative;
	width: 4700px;
	height: 865px;
	flex-shrink: 0;
	transform-origin: top left;
}
.gallery-set img {
	position: absolute;
	object-fit: cover;
	width: max-content;
	border-radius: 20px;
}
.gallery-set .img1  { left: 0px; top: 30px; width: 746px; height: 644px; }
.gallery-set .img2  { left: 765px; top: 0px; width: 350px; height: 325px; }
.gallery-set .img3  { left: 765px; top: 346px; width: 552px; height: 439px; }
.gallery-set .img4  { left: 1134px; top: 147px; width: 184px; height: 178px; }
.gallery-set .img5  { left: 1339px; top: 18px; width: 402px; height: 233px; }
.gallery-set .img6  { left: 1339px; top: 270px; width: 316px; height: 402px; }
.gallery-set .img7  { left: 1675px; bottom: 0px; width: 746px; height: 581px; }
.gallery-set .img8  { left: 1761px; top: 0px; width: 262px; height: 264px; }
.gallery-set .img9  { left: 2043px; top: 53px; width: 316px; height: 210px; }
.gallery-set .img10 { left: 2441px; top: 40px; width: 698px; height: 445px; }
.gallery-set .img11 { left: 2441px; top: 502px; width: 447px; height: 284px; }
.gallery-set .img12 { left: 2909px; top: 502px; width: 232px; height: 178px; }
.gallery-set .img13 { left: 3157px; top: 202px; width: 194px; height: 178px; }
.gallery-set .img14 { left: 3157px; top: 401px; width: 309px; height: 375px; }
.gallery-set .img15 { left: 3372px; top: 35px; width: 473px; height: 304px; }
.gallery-set .img16 { left: 3488px; top: 362px; width: 746px; height: 535px; }
.gallery-set .img17 { left: 3869px; top: 35px; width: 307px; height: 309px; }
.gallery-set .img18 { left: 4260px; top: 104px; width: 309px; height: 375px; }
.gallery-set .img19 { left: 4260px; top: 501px; width: 418px; height: 339px; }

.m_copy{
	position: absolute;
	bottom: 10em;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1726px;
	text-align: center;
}
.m_copy .m_copy_svg{
	position: relative;
	width: 100%;
	aspect-ratio: 1726 / 275;
}
.m_copy .m_copy_svg .abs li{
	position: absolute;
}
.m_copy .m_copy_svg .abs li.abs1{
	top:0;
	left: 13%;
	width: 16%;
	aspect-ratio: 232 / 59;
}
.m_copy .m_copy_svg .abs li.abs2{
	top:34%;
	transform: translateY(-50%);
	left: 20%;
	aspect-ratio: 194 / 87;
	width: 13%;
}
.m_copy .m_copy_svg .maru li{
	position: absolute;
	aspect-ratio: 33 / 33;
	width: 2.3%;
}
.m_copy .m_copy_svg .maru li.maru1{
	top:27%;
	transform: translateY(-50%);
	left: 53%;
}
.m_copy .m_copy_svg .maru li.maru2{
	top:-8%;
	right: 16.5%;
}
.m_copy .m_copy_txt{
	font-size:min(260%,3vw);
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #fff;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
}

/* 共通 */
path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 27.44px;

  stroke-dasharray: 3500;
  stroke-dashoffset: 3500;

  animation: draw 2.8s ease forwards;
}

/* 1本目（メイン長い線） */
.cls-1 {
  stroke: url(#g1);
  animation: draw 4.5s ease forwards;
  animation-delay: 1.7s;
}

/* R */
.cls-3 {
  stroke: url(#g3);
  animation: draw 4.1s ease forwards;
  animation-delay: 3.1s;
}

/* a */
.cls-4 {
  stroke: url(#g4);
  animation: draw 3.9s ease forwards;
  animation-delay: 3.7s;
}

/* 最後 */
.cls-2 {
  stroke: url(#g2);
  animation: draw 4.7s ease forwards;
  animation-delay: 4s;
}

/* アニメーション */
@keyframes draw {
  from {
    stroke-dashoffset: 3500;
  }
  to {
    stroke-dashoffset: 0;
  }
}

.m_copy_txt.fadein{
	transition-delay: 3.8s;
}

.maru .fadein{
	transition: opacity .3s ease;
}
.maru1.fadein{
	transition-delay: 3s;
}
.maru2.fadein{
	transition-delay: 4s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.m_img_erea {
	min-height: 65vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.m_img_erea {
	position: relative;
	min-height: 1px!important;
	padding-top: 0;
}/*
.m_img_erea::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_green@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 65%;
	height: 611px;
	top:-5%;
	left: 15%;
	transform: translate(-50% -50%); 
	aspect-ratio: 611 / 611;
	opacity: 0;
}*/
.gallery {
	animation: slide 50s linear infinite;
}
	
.m_copy{
	bottom: auto;
	top: 50%;
	transform: translateY(-50%);
	width: 140%;
	left: -36%;
}
.m_copy .m_copy_svg .abs li.abs1{
	top:-85%;
	left: 30%;
	width: 23%;
}
.m_copy .m_copy_svg .abs li.abs2{
	top: -31%;
	left: 38%;
	width: 20%;
}
.m_copy .m_copy_svg .abs li img{
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.8));
}
.m_copy .m_copy_txt{
	font-size:6.2vw;
	letter-spacing: 0.2em;
	line-height: 1.3em;
	text-align: center;
	padding-left: 18%;	
	margin-top: 1.5em;
}
	
.m_copy .m_copy_svg .maru li.maru2{
	top:-18%;
}
}




/* join
---------------------------------------------------------*/
#join{
	margin: min(60px,4.5vw) auto min(90px,6vw);
	border-top:1px solid #524936;
	border-bottom:1px solid #524936;
	background:#fff;
	overflow:hidden;
	padding:10px 0;
}
#join .scroll-wrap{
	overflow:hidden;
}
#join .scroll-track{
	display:flex;
	width:max-content;
	animation: scrollLoop 35s linear infinite;
}
#join dl{
	display:flex;
	align-items:center;
	white-space:nowrap;
	margin-right:4em;
    font-size: min(100%,1.6vw);
}
@keyframes scrollLoop{
	0%{ transform: translateX(0); }
	100%{ transform: translateX(-50%); }
}
#join dt{
	position: relative;
	padding-right: 1.5em;
	margin-right: 1.5em;
	font-size:110%;
	letter-spacing: 0.2em;
}
#join dt i{
	font-size:130%;
	padding-right: .9em;
}
#join dt::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/join_line.svg")no-repeat top right;
	background-size: 100% auto;
	width: 2px;
	height: 2em;
	top:50%;
	transform: translateY(-50%); 
	right: 0;
}
#join dd{
	font-weight: bold!important;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#join{
	margin: 4.5em auto 6%;
	padding: 2vw 0;
}
#join .scroll-wrap{
	overflow:hidden;
}
#join .scroll-track{
	display:flex;
	width:max-content;
	animation: scrollLoop 35s linear infinite;
}
#join dl{
	margin-right:2em;
    font-size: 90%;
}
#join dt{
	padding-right: 1em;
	margin-right: 1em;
}
#join dt::before{
	top:60%;
}
}






/* present
---------------------------------------------------------*/
#present{
	margin-bottom: min(90px,8vw);
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#present{
	margin-bottom: 12%;
}
}





/* lead
---------------------------------------------------------*/
#lead .bg{
	position: relative;
	padding-bottom: min(370px,23vw);
	background: url("../images/top/lead1@2x.jpg")no-repeat bottom center;
	background-size: 100% auto;
}
#lead .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/lead_abs@2x.png")no-repeat bottom center;
	background-size: 100% auto;
	width: 100%;
	height: 300px;
	bottom: -1px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#lead .flex_box{
	position: relative;
	z-index: 2;
}
#lead .flex_l{
	position: relative;
	z-index: 3;
	width: 54%;
}
#lead .flex_l .ft_lato{
	color: #ff9bb3;
	font-size:120%;
	letter-spacing: 0.2em;
	line-height: 1em;
	margin-bottom: 1em;
}
#lead .flex_l .ft_min{
    font-size: min(100%,1.35vw);
	margin-bottom: 1.5rem;
}
#lead .flex_l .ft_min span{
	display: block;
}
#lead .flex_l .ft_min .span1{
	font-size:380%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#lead .flex_l .ft_min .span1 strong{
	font-size:120%;
}
#lead .flex_l .ft_min .span2{
	font-size: 270%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin-top: .1em;
}

#lead .scl_lato{
	display:flex;
	width:max-content;
	/*animation: scrollLoop2 35s linear infinite;*/
	font-size: min(800%,11vw);
	letter-spacing: 0.1em;
	color: #fff;
	line-height: 1em;
	opacity: .6;
	margin-top: -0.4em;
	margin-left: -195%;
	position: relative;
	z-index: 2;
}/*
#lead .scl_lato p{
	white-space:nowrap;
}
@keyframes scrollLoop2{
	0%{ transform: translateX(0); }
	100%{ transform: translateX(-50%); }
}*/

#lead .flex_r{
	width: 41%;
	padding-top: 1rem;
}
#lead .flex_r .com_slide{
	overflow: hidden;
}
#lead .flex_r .com_slide .swiper-slide{
	width: min(433px,40vw);
	aspect-ratio: 433 / 502;
	margin-right: 30px;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#lead .bg{
	padding-bottom: 30%;
	background-size: 135% auto;
}
#lead .flex_box{
	display: block;
}
#lead .flex_l{
	width:100%;
	margin-bottom: 5%;
}
#lead .flex_l .ft_lato{
	margin-bottom: .9em;
}
#lead .flex_l .ft_min{
    font-size: 62%;
	margin-bottom: 1rem;
}
#lead .flex_l .ft_min .span1{
	line-height: 1.4em;
}
#lead .flex_l .ft_min .span2{
	letter-spacing: 0.05em;
}

#lead .scl_lato{
	font-size: 300%;
	margin-left: -198%;
	margin-top: -0.5em;
}
#lead .flex_r{
	width:100%;
	padding-top: 0;
}
#lead .flex_r .com_slide .swiper-slide{
	width: 50vw;
	margin-right: 3vw;
}
}






/* point
---------------------------------------------------------*/
#point .bg{
	background:url("../images/top/soudan_abs1@2x.png")no-repeat bottom -1px center #ffffea;
	background-size: 100% auto;
	padding: min(70px,4.5vw) 0 min(235px,15vw);
}

/*point_title*/
#point .point_title{
	position: relative;
	margin: 0 auto min(70px,6.5vw);
	width: 100%;
	max-width: 1010px;
}
#point .point_title h2{
	position: relative;
	z-index: 2;
	width: 58%;
	margin: 0 auto;
}
#point .point_title .abs1,
#point .point_title .abs2{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 24.5%;
}
#point .point_title .abs1{
	left: 0;
}
#point .point_title .abs2{
	right: 0;
}

/*com_btn1_list*/
#point .com_btn1_list li:nth-child(1) a{
background: linear-gradient(to right,  #9fe5fa 0%,#caf2ba 100%); }
#point .com_btn1_list li:nth-child(2) a{
background: linear-gradient(to right,  #ffddae 0%,#ffd9df 100%);}

#point .com_btn1_list{
	margin: 0 auto min(80px,7vw);
}

/*point_index1*/
#point .point_index1{
	text-align: center;
	position: relative;
	z-index: 2;
}
#point .point_index1 h3 {
	position: relative;
	width: 90%;
	max-width: 870px;
	margin: 0 auto -35px;
}
#point .point_index1 h3 .span1{
	display: inline-block;
	position: relative;
	z-index: 2;
	width: 81%;
	max-width: 700px;
}
#point .point_index1 h3 .span2{
	position: absolute;
	bottom: -35px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

/*point_index2*/
#point .point_index2{
	position: relative;
	height: 580px;
	width: calc(100% - 30px);
	left: 0;
	right: 0;
	margin: 0 auto;
	background: url("../images/top/skill1@2x.jpg")no-repeat center center;
	background-size: cover;
	margin-bottom: -200px;
	text-align: center;
	overflow: hidden;
	padding: 0 4%;
	box-sizing: border-box;
}
#anshin .point_index2{
	background-image: url("../images/top/anshin1@2x.jpg");}

#point .point_index2::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_green@2x.png")no-repeat top left;
	background-size: 100% 100%;
	width:66%;
	height: 982px;
	top:0;
	left: -26%;
	transform: translate(-50% -50%); 
}
#anshin .point_index2::before{
	background-image: url("../images/common/grd_orange@2x.png");}

#point .point_index2 p{
	position: relative;
	z-index: 2;
	font-weight: bold;
	color: #fff;
	padding-top: 90px;
}

/*point_list*/
#point .point_list{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
#point .point_list section{
	width: 100%;
	margin-bottom: 30px;
}
#point .point_list section .inbox{
	background: #fff;
	border:1px solid #69c79d;
	padding: min(65px,4vw) 4%;
	box-sizing: border-box;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.05));
}
#point .point_list section.col2 .inbox{
	padding-left: 6%;
	padding-right: 6%;
}
#point .point_list section.col3 .inbox{
	padding-left: 8%;
	padding-right:8%;
}

#anshin .point_list section .inbox{
	border-color:#ff9998;
}
#point .point_list section.col2{
	width: 48.8%;
}
#point .point_list section.col3{
	width: 32%;
}
#point .point_list section.col2 .inbox_box{
	max-width: 535px;
	margin: 0 auto;
}
#point .point_list section.col3 .inbox_box{
	max-width: 320px;
	margin: 0 auto;
}

/*flt_box*/
#point .point_list section .flt_box{
	max-width: 1159px;
	margin: 0 auto;
}
#point .point_list section .img_r,
#point .point_list section .img_l{
	width: 46%;
}
#point .point_list section .txt_r,
#point .point_list section .txt_l{
	width: 49%;
}
#point .point_list section .img_r{
	float: right;
}
#point .point_list section .txt_l{
	float: left;
}
#point .point_list section .img_l{
	float: left;
}
#point .point_list section .txt_r{
	float: right;
}
#point .point_list section .img_r .img_col2{
	display: flex;
    justify-content: space-between;
}
#point .point_list section .img_r .img_col2 li{
	width: 49.5%;
}
#point .point_list section .img_r .img_col2 li:nth-child(2){
	padding-top: 30px;
}

/*point_list_index1*/
.point_list_index1{
    font-size: min(100%,1.2vw);
	margin-bottom: 1em;
}
.point_list_index1 span{
	display: block;
}
.point_list_index1 .sub{
	font-size:130%;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.6em;
	margin-bottom: .5em;
}
.point_list_index1 .ft_min{
	font-size:330%;
	line-height: 1.2em;
}
.point_list section.col2 .point_list_index1 .ft_min{
	font-size:230%;
	line-height: 1.5em;
}
.point_list_index1.type_abs{
	position: relative;
	padding-left: 7.2em;
	box-sizing: border-box;
}
.point_list_index1.type_abs .abs{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 6em;
}

#point .point_list section.col2 .img{
	margin-bottom: 20px;
}

/*point_list_index2*/
.point_list_index2{
	font-size:min(150%,1.6vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin: 0 auto 1.5rem;
	text-align: center;
	width: 14em;
}
.point_list_index2 .abs{
	width: 5em;
}
.point_list_index2 h4{
	width: calc(100% - 5.5em);
	display: flex;
	align-items: flex-end;
}
.point_list_index2 span{
	display:block;
	font-weight: bold;
}
.point_list_index2 span:nth-child(1){
	font-size:270%;
	line-height: 1.15em;
}
.point_list_index2 span:nth-child(2){
	line-height: 1.3em;
	margin-left: .3em;
	padding-bottom: .3em;
}

/*skill*/
#skill{
	margin-bottom: min(120px,6vw);
}

/*anshin*/
#anshin .serif_box{
	position: relative;
	text-align: center;
	margin-top: 20px;
}
#anshin .serif{
	position: absolute;
	display: inline-block;
	background: #ff9998;
	color: #fff;
	top:-1.2em;
	left: 0;
	right: 0;
	margin: 0 auto;
    font-size: min(120%,1.7vw);
	letter-spacing: 0.15em;
	line-height: 1.6em;
	font-weight: bold;
	max-width: 609px;
	width: 90%;
	border-radius: 50px;
	padding: .6em 1em .5em;
	box-sizing: border-box;
}
#anshin .serif span{
	color: #ffffa8;
}
#anshin .serif::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/anshin_arrow@2x.png")no-repeat top center;
	background-size: 100% auto;
	width: 17px;
	height: 15px;
	top:100%;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#anshin .anshin_col4{
	display: flex;
    justify-content: space-between;
	max-width: 1159px;
	margin: 2em auto 0;
}
#anshin .anshin_col4 li{
	position: relative;
	width: 23%;
	background: #ff9998;
	padding: min(38px,3.5vw) 2%;
	box-sizing: border-box;
}
#anshin .anshin_col4 li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/anshin_abs6@2x.png") no-repeat bottom right;
	background-size: 100% auto;
	width: 30%;
	height:137px;
	aspect-ratio: 80 / 137;
}
#anshin .anshin_col4 li:nth-child(1)::before{
	bottom: -2em;
	right: -6.5%;
}
#anshin .anshin_col4 li:nth-child(2)::before{
	bottom: .8em;
	right: -12%;
	background: url("../images/top/anshin_abs7@2x.png") no-repeat bottom right;
	background-size: 100% auto;
}
#anshin .anshin_col4 li:nth-child(3)::before{
	top:-3em;
	right: -12%;
	background: url("../images/top/anshin_abs8@2x.png") no-repeat top right;
	background-size: 100% auto;
}
#anshin .anshin_col4 li:nth-child(4)::before{
	bottom: -1.8em;
	right: -15%;
	background: url("../images/top/anshin_abs9@2x.png") no-repeat bottom right;
	background-size: 100% auto;
}

#anshin .abs_img_box{
	position: relative;
}
#anshin .abs_img{
	position: absolute;
	bottom: -31px;
	right:4%;
	width: 21%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*point_index2*/
#point .point_index2{
	height: 38vw;
	margin-bottom: -12vw;
}
#point .point_index2 p{
	padding-top: 9vw;
}
#anshin .abs_img{
	left:4%;
	right: auto;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#point .bg{
	padding: 0 0 20%;
}

/*point_title*/
#point .point_title{
	padding-top: 22vw;
	margin: 0 auto 8%;
}
#point .point_title h2{
	width:85%;
}
#point .point_title .abs1,
#point .point_title .abs2{
	transform: translateY(0);
	width: 35%;
}
#point .point_title .abs1{
	top:-9vw;
}
#point .point_title .abs2{
	top: 2vw;
	right: -3%;
}

#point .com_btn1_list{
	margin: 0 auto 10%;
}

/*point_index1*/
#point .point_index1 h3 {
	width: 110%;
	margin-left: -5%;
	margin-bottom: -3vw;
}

/*point_index2*/
#point .point_index2{
	height: auto;
	width: calc(100% - 5vw);
	margin-bottom: -15vw;
	padding: 0 4%;
}
#point .point_index2::before{
	width:100%;
	top:-50%;
}
#point .point_index2 p{
	padding-top: 8vw;
	font-size:95%;
	text-align: left;
	padding-bottom: 20vw;
}

/*point_list*/
#point .point_list{
	display: block;
}
#point .point_list section{
	margin-bottom: 1em;
}
#point .point_list section .inbox{
	padding: 5% 5% 6%!important;
}
#point .point_list section.col2,
#point .point_list section.col3{
	width:100%;
}
	
/*flt_box*/
#point .point_list section .img_r,
#point .point_list section .img_l{
	width: 100%;
	margin: 0 auto 5%;
}
#point .point_list section .txt_r,
#point .point_list section .txt_l{
	width: 100%;
}
#point .point_list section .img_r,
#point .point_list section .txt_l,
#point .point_list section .img_l,
#point .point_list section .txt_r{
	float: none;
}
#point .point_list section .img_r .img_col2 li:nth-child(2){
	padding-top: 4vw;
}

/*point_list_index1*/
.point_list_index1{
    font-size: 100%;
	margin-bottom: .8em;
}
.point_list_index1 .sub{
	font-size:110%;
	letter-spacing: 0.1em;
	margin-bottom: .1em;
}
.point_list_index1 .ft_min{
	font-size: 180%!important;
	letter-spacing: normal;
	line-height: 1.2em!important;
}
.point_list_index1.type_abs{
	padding-left: 6.3em;
}
.point_list_index1.type_abs .abs{
	width: 6em;
}
#point .point_list section.col2 .img{
	margin-bottom: 5%;
}
#point .point_list section .inbox_box{
	max-width: 100%!important;
}
	
/*point_list_index2*/
.point_list_index2{
	font-size:100%;
	line-height: 1.4em;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 2%;
	width: 13em;
	margin-top: 3%;
}
.point_list_index2 span:nth-child(1){
	font-size:230%;
}

/*skill*/
#skill{
	margin-bottom: 12%;
}

/*anshin*/
#anshin .serif_box{
	margin-top: 18vw;
}
#anshin .serif{
	top:-3em;
    font-size: 100%;
	letter-spacing: 0.1em;
	line-height: 1.3em;
}
#anshin .serif::before{
	width: 3vw;
}
#anshin .serif_box .point_list_index1{
	padding-top: .7em;
}
#anshin .anshin_col4{
	flex-wrap: wrap;
	margin: 5% auto 0;
}
#anshin .anshin_col4 li{
	width: 48%;
	padding: 4% 4%;
	margin-top: 4%;
}
#anshin .anshin_col4 li:nth-child(1)::before{
	bottom: -0.5em;
}
#anshin .anshin_col4 li:nth-child(3)::before{
	top:-1em;
}
#anshin .anshin_col4 li:nth-child(4)::before{
	bottom: -1em;
}
#anshin .point_list section.abs_img_box .inbox{
	padding-bottom: 25vw!important;
}
#anshin .abs_img{
	width: 50%;
	bottom: -1.1em;
}
}







/* soudan
---------------------------------------------------------*/
#soudan .bg{
	background: #ffd2b5;
	padding-bottom:min(100px,8vw);
}

/*titlebox*/
#soudan .titlebox{
	position: relative;
	max-width: 1300px;
	margin: 0 auto;
	padding-top: 107px;
}
#soudan .titlebox .txt_l{
	position: relative;
	z-index: 2;
	width: 49%;
	padding-bottom: min(70px,5vw);
}
#soudan .titlebox .txt_l .abs1{
	margin-bottom: 15px;
}
#soudan .titlebox .txt_l_inbox{
	padding-right: 10%;
	box-sizing: border-box;
}
#soudan .titlebox .txt_l_inbox h2{
    font-size: min(300%,3.2vw);
	letter-spacing: 0.05em;
	line-height: 1.6em;
}
#soudan .titlebox .txt_l_inbox h2 span{
	font-size: 130%;
}
#soudan .titlebox .txt_l_inbox h2 strong{
	position: relative;
}
#soudan .titlebox .txt_l_inbox h2 strong::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/soudan_abs4@2x.png") no-repeat bottom center;
	background-size: 100% auto;
	width: .5em;
	height:.2em;
	bottom: calc(100% - 0.1em);
	left: 0;
	right: 0;
	margin: 0 auto;
}
#soudan .titlebox .txt_l_inbox .abs2{
	width: 70%;
	margin-left: 9%;
	margin-bottom: 10px;
}
#soudan .titlebox .txt_l_inbox p{
	margin-top: .8rem;
}
#soudan .titlebox .img_r{
	position: absolute;
	width: 53.5%;
	top:0;
	right: 0;
}
#soudan .titlebox .abs{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 26%;
}
/*maru*/
#soudan .maru{
	position: relative;
	z-index: 2;
	margin: -120px auto 40px;
	width: 90%;
	max-width: 998px;
}
#soudan .maru li{
	width: 24%;
}
/*txt*/
#soudan .txt{
	text-align: center;
	font-size:min(150%, 2.2vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	font-weight: bold;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*titlebox*/
#soudan .titlebox{
	padding-top: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#soudan .bg{
	padding-bottom: 12%;
}

/*titlebox*/
#soudan .titlebox{
	padding-top: 5%;
}
#soudan .titlebox .flex_box{
	display: block;
}
#soudan .titlebox .txt_l{
	width: 100%;
	padding-bottom: 7%;
}
#soudan .titlebox .txt_l .abs1{
	margin-bottom: 2%;
}
#soudan .titlebox .txt_l_inbox{
	padding-right: 0;
}
#soudan .titlebox .txt_l_inbox h2{
    font-size: 6.8vw;
}
#soudan .titlebox .txt_l_inbox .abs2{
	width: 55%;
	margin-bottom: 1vw;
}
#soudan .titlebox .txt_l_inbox p{
	margin-top: .6rem;
}
#soudan .titlebox .img_r{
	position: static;
	width: 80%;
	padding-bottom: 10vw;
}
#soudan .titlebox .abs{
	width: 50%;
}
/*maru*/
#soudan .maru{
	margin: -17vw auto 4%;
	width: 70%;
	flex-wrap: wrap;
}
#soudan .maru li{
	width: 48%;
	margin-top: 4%;
}
/*txt*/
#soudan .txt{
	text-align: center;
	font-size: 100%;
	letter-spacing: 0.05em;
}
}






/* device
---------------------------------------------------------*/
#device .bg{
	padding: min(140px,8vw) 0 min(80px,7vw);
	background: url("../images/top/device1@2x.jpg")no-repeat top center;
	background-size: 100% auto;
}

/*title*/
#device .title{
    font-size: min(100%,1.2vw);
	text-align: center;
	margin-bottom: 50px;
}
#device .title .ft_lato{
	color: #fff;
	font-size: 700%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#device .title .ft_min{
	font-size: 330%;
	line-height: 1em;
	margin-top: .5em;
}


/*flex_box*/
#device .flex_box li{
	position: relative;
	width: 48.2%;
	padding: 0 3.5% min(50px,4vw);
	box-sizing: border-box;
}
#device .flex_box li::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 40px);
	bottom: 0;
	left: 0;
	border-radius: 20px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
}
#device .flex_box li > div{
	position: relative;
	z-index: 2;
	margin-bottom: 1em;
}
#device .flex_box li h3{
	text-align: center;
    font-size: min(250%,3.3vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	font-weight: bold;
	margin-bottom: .2em;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#device .bg{
	padding: 15vw 0 10%;
	background-size: 200% auto;
}

/*title*/
#device .title{
    font-size: 50%;
	margin-bottom: 8%;
}
#device .title .ft_lato{
	font-size: 600%;
}


/*flex_box*/
#device .flex_box {
	display: block;
}
#device .flex_box li{
	width: 100%;
	padding: 0 4% 6%;
}
#device .flex_box li::before{
	height: calc(100% - 5vw);
	border-radius: 10px;
}
#device .flex_box li > div{
	margin-bottom: 4%;
}
#device .flex_box li h3{
    font-size: 150%;
}
}







/* access
---------------------------------------------------------*/
#access .bg{
	background: url("../images/top/access_abs3@2x.png")no-repeat bottom center #524936;
	background-size: 100% auto;
	padding-top: min(100px,7.5vw);
}
#access .inbox{
	position: relative;
	padding-bottom: min(100px,8vw);
}
#access .title{
	position: relative;
	z-index: 2;
}
#access .title .ft_lato{
	position: relative;
	padding-left: 1.1em;
	box-sizing: border-box;
    font-size: min(700%,8.5vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: rgba(255,255,255,0.30);
}
#access .title .ft_lato span{
	color:rgba(255,255,204,0.30);
}
#access .title .ft_lato::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/access_abs1@2x.png") no-repeat top left;
	background-size: 100% auto;
	width: .8em;
	height:.8em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
#access .title h2{
	font-size:min(130%,2.2vw);
	font-weight: bold;
	line-height: 1.6em;
	letter-spacing: 0.15em;
	color: #fff;
	margin: 2em 0 2.5em;
}

#access .map{
	position: absolute;
	top:0;
	right: 0;
	max-width: 596px;
	width: 60%;
}
#access .abs{
	position: absolute;
	bottom:0;
	right: 5.5%;
	width: 25%;
	max-width: 245px;
}
#access .flex_box{
	position: relative;
	z-index: 2;
	width:61%;
	max-width: 744px;
}
#access .flex_box li{
	position: relative;
	width: 47.7%;
	background: #fe937b;
	text-align: center;
}
#access .flex_box li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/device_shadow@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 100%;
	height: 300px;
	top:100%;
	left: 0;
}
#access .flex_box li:nth-child(2){
	background: #89e2b7;
}
#access .flex_box li .txt{
	position: relative;	
    font-size: min(100%,1.3vw);
}
#access .flex_box li h3{
	position: absolute;
	top:-1em;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: inline-block;
	background: #fff;
	font-size: 130%;
	letter-spacing: 0.2em;
	line-height: 1.6em;
	font-weight: bold;
	width: 90%;
	max-width: 192px;
	border:1px solid #fe937b;
	border-radius: 50px;
	color: #fe937b;
	padding: .15em 0;
	box-sizing: border-box;
}
#access .flex_box li:nth-child(2) h3{
	border-color: #83d9a6;
	color: #83d9a6;
}
#access .flex_box li h4{
	font-size: 140%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	font-weight: bold;
	color: #fff;
	padding: 1.8em 0 1em;
}

#access .com_btn1{
	position: relative;
	z-index: 5;
	margin-top: 60px;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#access .bg{
	padding-top: 10%;
}
#access .inbox{
	padding-bottom: 15%;
}
#access .title{
	text-align: center;
}
#access .title .ft_lato{
	display: inline-block;
	padding-left: 1.1em;
    font-size:330%;
}
#access .title h2{
	font-size: 100%;
	margin: .8em 0 5%;
}

#access .map{
	position: static;
	width: 120%;
	margin-left: -20%;
}
#access .abs{
	position: static;
	width: 55%;
	margin-top: -35vw;
}
#access .flex_box{
	width:100%;
	max-width:100%;
	display: block;
}
#access .flex_box li{
	width: 100%;
	margin-bottom: 5%;
}
#access .flex_box li:nth-child(2){
	margin-bottom: 0;
}
#access .flex_box li .img{
	width: 100%!important;
	max-width: 100%!important;
}
#access .flex_box li .img img{
	width: 100%!important;
	max-width: 100%!important;
	height: auto!important;
}
#access .flex_box li .txt{
    font-size: 90%;
}
#access .flex_box li h3{
	width: 90%;
	max-width: 100%;
	padding: .1em 0;
}
#access .flex_box li h4{
	padding: 1.5em 0 1em;
}

#access .com_btn1{
	margin-top: 8%;
}
}







/*features
---------------------------------------------------------*/
.features_bg{
	position: relative;
	display: block;
	padding-top: min(140px,9vw);
	overflow: hidden;
}/*
.features_bg::before{
	position: absolute;
	display: block;
	content: "";
	background: #ccc;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;	
}*/
.features_bg .features_title{
	position: relative;
    font-size: min(700%,8.5vw);
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #f5f2d8;
	opacity: .6;
	margin-bottom: -0.1em;
	z-index: 12;
	padding-left: .5em;
	box-sizing: border-box;
}
.features_bg .features_title span{
	color: #a3ead8;
}

/*features*/
.features {
	position: relative;
	background: #fefdfa;/*fefdfa*/
	z-index: 10;
	height: 100vh;
}
.features_inbox{
	position: absolute;
	display: block;
	top: 3%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
}

/*med_title*/
.features .med_title {
	position: absolute;
	left: 4%;
	top: 0;
	padding-top: 6em;
	transition: all 0.4s;
	z-index: 11;
	width: 23.5%;
	background: #fefdfa;
	height: 100vh;
}
.features .med_title::before{
	position: absolute;
	display: block;
	content: "";
	background: #fefdfa;
	background-size: 100% auto;
	width: 500%;
	height: 150%;
	top:0;
	right: -15%;
}

/*
.features .med_title::before{
	position: absolute;
	display: block;
	content: "";
	background: #fefdfa;
	background-size: 100% auto;
	width: 500%;
	height: 100vh;
	right: 0;
	top:0;
	z-index: -1;
}*/
.features .med_title h2{
	font-size:min(230%,3.5vw);
	letter-spacing: 0.15em;
	line-height: 1em;
	margin-bottom: 1.5em;
	font-weight: bold;
	padding-top: 1em;
	position: relative;
	z-index: 2;
}
.features .med_title .btn li{
	display: block;
	margin-bottom: 1rem;
}
.features .med_title .btn li:last-child{
	margin-bottom: 0;
}
.features .med_title .btn li a{
	position: relative;
	background: #fff;
	border:solid 1px #524936;
	border-radius: 50px;
    font-size: min(110%,1.6vw);
	letter-spacing: 0.2em;
	line-height: 1em;
	padding: .65em 1.5em;
	box-sizing: border-box;
	display: flex;
    align-items: center;
	font-weight: bold;
	width: 15.5em;
	transition: 0.4s;
}
.features .med_title .btn li:hover a{
	background:rgba(61,175,182,1);
	transition: 0.4s;
}
.features .med_title .btn li.btn_dh:hover a{background:rgba(255,155,179,1);}
.features .med_title .btn li.btn_ho:hover a{background:rgba(254,190,105,1);}
.features .med_title .btn li.btn_ji:hover a{background:rgba(172,215,105,1);}

.features .med_title .btn li .img{
	width: 2.3em;
	margin-right: .8em;
}
.features .med_title .btn li i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1em;
	color: #fff;
	background: #3dafb6;
	font-size: 65%;
}
.features .med_title .btn li.btn_dh i{background: #ff9bb3;}
.features .med_title .btn li.btn_ho i{background: #febe69;}
.features .med_title .btn li.btn_ji i{background: #acd769;}

.features .med_title .btn li:hover i{
	background: #fff;
	color: #3dafb6;
}
.features .med_title .btn li.btn_dh:hover i{color: #ff9bb3;}
.features .med_title .btn li.btn_ho:hover i{color: #febe69;}
.features .med_title .btn li.btn_ji:hover i{color: #acd769;}

.features .med_title .img2{
	position: relative;
	z-index: 2;
	margin-top: min(70px,5vw);
}
.features .med_title .img2 li{
	width: 70%;
}
.features .med_title .img2 li:nth-child(2){
	width: 56%;
	margin-left: auto;
	margin-right: 0;
	text-align: right;
	margin-top: 20px;
}

.features .features_content {
	position: relative;
	margin-left: 31.5%;
	z-index: 1;
	margin-right: 0;
	/*padding-bottom: min(112px,9vw);*/
}

/*scl_area*/
.features .scl_area {
	position: absolute;
	left: 0;
	top: 0;
	width: 3470px;
}

/*box_list*/
.features .scl_area .box_list {
	width: 100%;
	padding-left: 0;
	padding-right: 74%;
	display: flex;
    justify-content: space-between;
}
.features .box_list > li {
	position: relative;
	width: 830px;
	margin-right: 50px;
}
.features .box_list > li:last-child{
	margin-right: 0;
}
/*
.features .box_list > li::before{
	position: absolute;
	display: block;
	content: "";
	background: #ecfaff;
	background-size: 100% auto;
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
	border-radius: 0 0 20px 20px;
}
.features .box_list > li#features2::before{background: #fff1f1;}
.features .box_list > li#features3::before{background: #fff8ef;}
.features .box_list > li#features4::before{background: #f1f8f1;}*/

.features .box_list > li::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/bosyu_shadow@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 100%;
	height: 300px;
	top:100%;
	left: 0;
}
.features .box_list .img{
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 400px;
	background: url("../images/top/bosyu_dr@2x.jpg")no-repeat center center;
	background-size: cover;
}
.features .box_list #features2 .img{
	background-image: url("../images/top/bosyu_dh@2x.jpg");}
.features .box_list #features3 .img{
	background-image: url("../images/top/bosyu_ho@2x.jpg");}
.features .box_list #features4 .img{
	background-image: url("../images/top/bosyu_ji@2x.jpg");}

.features .box_list .txt{
	position: relative;
	z-index: 2;
	background: #ecfaff;
	margin-top: 10px;
	padding: min(60px,5vw) 4%;
}
.features .box_list #features2 .txt{background: #fff1f1;}
.features .box_list #features3 .txt{background: #fff8ef;}
.features .box_list #features4 .txt{background: #f1f8f1;}

.features .box_list .txt_inbox{
	max-width: 695px;
	margin: 0 auto;
}
.features .box_list .txt .index{
	display: flex;
    justify-content: start;
    align-items: center;	
}
.features .box_list .txt .index .ft_min{
	font-size:350%;
	line-height: 1.6em;
}
.features .box_list .txt .index .ft_lato{
	font-size:125%;
	letter-spacing: 0.15em;
	color: #3dafb6;
	margin-left: 1.5em;
	line-height: 1.6em;
}
.features .box_list #features2 .txt .index .ft_lato{color: #ff9bb3;}
.features .box_list #features3 .txt .index .ft_lato{color: #febe69;}
.features .box_list #features4 .txt .index .ft_lato{color: #acd769;}

.features .box_list .txt h4{
	font-size:150%;
	letter-spacing: 0.15em;
	line-height: 1.5em;
	font-weight: bold;
	margin: 1em 0;
}
.features .box_list .txt .com_btn1{
	margin-top: 30px;
}
.features .box_list .txt .com_btn1 .icon-arrow1{
	color: #fff;
	background: #3dafb6;
}
.features .box_list #features2 .txt .com_btn1 .icon-arrow1{	background: #ff9bb3;}
.features .box_list #features3 .txt .com_btn1 .icon-arrow1{	background: #febe69;}
.features .box_list #features4 .txt .com_btn1 .icon-arrow1{	background: #acd769;}

.features .box_list .txt .com_btn1:hover .icon-arrow1{
	color: #3dafb6;
	background:rgba(61,175,182,0.20);
}
.features .box_list #features2 .txt .com_btn1:hover .icon-arrow1{
	color: #ff9bb3;
	background:rgba(255,155,179,0.20);
}
.features .box_list #features3 .txt .com_btn1:hover .icon-arrow1{
	color: #febe69;
	background:rgba(254,190,105,0.20);
}
.features .box_list #features4 .txt .com_btn1:hover .icon-arrow1{
	color: #acd769;
	background:rgba(172,215,105,0.20);
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 1200px) {
.features_bg{
	padding-bottom: 15vh;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 1100px) {
.features .box_list .img{
	height: 30vh;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 950px) {
.features .box_list .img{
	height: 25vh;
}
.features_bg{
	padding-bottom: 25vh;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 890px) {
.features .med_title .img2{
	width: 38vh;
	margin-top: 7vh;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 850px) {
.features .box_list .img{
	height: 15vh;
}

.features_bg{
	padding-bottom: 30vh;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 720px) {
.features .box_list{
	font-size:2.1vh!important;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 700px) {
.features .box_list .txt{
	padding-top: 4vh;
	padding-bottom: 4vh;
}
}

/* 高さ
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-height: 550px) {
.features_bg{
	padding-bottom: 40vh;
}
.features .med_title .img2{
	width: 35vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.features{
	background: none;
	height: auto;
}
.features_inbox{
	position: static;
	transform: translateY(0);
}
.features_bg {
	padding-bottom: 8%;
}
.features_bg .features_title{
	padding-left: 0;
}
/*med_title*/
.features .med_title {
	padding-top: 4.5em;
	left: 0;
	width: 20%;
}
.features .med_title h2{
	margin-bottom: 1em;
}
.features .med_title .btn li{
	margin-bottom: .6rem;
}
.features .med_title .btn li a{
    font-size: min(110%,1.8vw);
	letter-spacing: normal;
	padding: .65em 1em;
	width: 13em;
}
.features .med_title .img2{
	display: block;
	margin-top:2vw;
}
.features .med_title .img2 li:nth-child(2){
	margin-top:1vw;
}
	
/*scl_area
.features .features_content {
	margin-left: 28%;
	padding-bottom: 20vw;
}
.features .scl_area {
	width: 282vw;
}
.features .scl_area .box_list {
	padding-right: 74%;
}
.features .box_list > li {
	width: 69vw;
	margin-right: 2vw;
}
.features .box_list .img{
	height: 15vh;
	display: block;
}
.features .box_list .txt{
	margin-top: 1vw;
	padding: 2.2vw 5% 4vw;
}
.features .box_list .txt .index .ft_min{
	font-size:min(350%,4.2vw);
}
.features .box_list .txt .index .ft_lato{
	font-size:min(125%,2vw);
}
.features .box_list .txt h4{
	font-size:min(150%,2.2vw);
	letter-spacing: 0.1em;
	margin: .6em 0;
}
.features .box_list .txt p{
	line-height: 1.5em;
}
.features .box_list .txt .com_btn1{
	margin-top: 2vw;
}*/

.features .features_content {
	margin-left: 26%;
	height: auto;
	margin-right: 0;
	padding-bottom: 0;
}

/*scl_area*/
.features .scl_area {
	position: static;
	left: 0;
	top: 0;
	width: 78%;
}

/*box_list*/
.features .scl_area .box_list {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	display: block;
}
.features .box_list > li {
	width: 100%;
	margin-right: 0;
	height: auto;
	margin-bottom: 5%;
}
.features .box_list > li:last-child{
	margin-bottom: 0;
}
.features .box_list .img{
	display: block;
	height: 23vw;
}
.features .box_list .txt{
	margin-top: 1vw;
	padding: 4.5% 5% 6%;
}
.features .box_list .txt_inbox{
	max-width: 100%;
}
.features .box_list .txt .index .ft_min{
	font-size:250%;
}
.features .box_list .txt .index .ft_lato{
	font-size:120%;
}
.features .box_list .txt h4{
	font-size:130%;
	letter-spacing: 0.1em;
	margin:.6em 0;
}
.features .box_list .txt .com_btn1{
	margin-top: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.features_bg{
	padding-top: 12%;
	margin-bottom: 12%;
	padding-bottom: 0;
}
.features_bg .features_title{
    font-size: 250%;
	padding-left: 0;
}
.features {
	height: auto;
}
.features_inbox{
	position: static;
	transform: translateY(0);
}
/*med_title*/
.features .med_title {
	position: static;
	width: 100%;
	height: auto;
	padding-top: 0;
}
.features .med_title::before{
	display: none;
}
.features .med_title h2{
	font-size: 130%;
	margin-bottom: 1em;
	padding-top: 1em;
}
.features .med_title .btn{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
.features .med_title .btn li{
	display: block;
	width: 49%;
	margin-bottom: 2%;
}
.features .med_title .btn li a{
    font-size: 90%;
	letter-spacing: normal;
	padding: .65em 1em;
	width: 100%;
}
.features .med_title .btn li .img{
	margin-right: .4em;
}
.features .med_title .btn li i{
	right: .8em;
	font-size: 60%;
}

.features .med_title .img2{
	display: flex;
    justify-content: space-between;
	width: 85%;
	margin: 0 auto 5%;
	margin-top: 4%;
}
.features .med_title .img2 li{
	width: 53%;
}
.features .med_title .img2 li:nth-child(2){
	width: 45%;
	margin-top: 5vw;
}

.features .features_content {
	display: block;
	margin-left: 0;
	height: auto;
	padding-bottom: 15%;
	width: 100%;
	padding: 0!important;
}

/*scl_area*/
.features .scl_area {
	position: static;
	width: 100%;
}

/*box_list*/
.features .scl_area .box_list {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	display: block;
}
.features .box_list > li {
	width: 100%;
	height: auto;
	margin-right: 0;
	margin-bottom: 8%;
}
.features .box_list > li:last-child{
	margin-bottom: 0;
}
.features .box_list .img{
	height: 45vw;
}

.features .box_list .txt{
	margin-top: 1vw;
	padding: 4% 4% 8%;
}

.features .box_list .txt_inbox{
	max-width: 100%;
}
.features .box_list .txt .index{
	display: block;
	text-align: center;
}
.features .box_list .txt .index .ft_min{
	font-size: 220%;
}
.features .box_list .txt .index .ft_lato{
	font-size:100%;
	margin-left: 0;
}

.features .box_list .txt h4{
	font-size:115%;
	letter-spacing: normal;
	margin: 1em 0 .5em;
}
.features .box_list .txt .com_btn1{
	margin-top: 4%;
}
}







/* insta
---------------------------------------------------------*/
#insta .bg{
	position: relative;
	z-index: 22;
	text-align: center;
	padding-bottom: min(120px,9vw);
}
#insta .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_orange@2x.png")no-repeat top left;
	background-size: 100% 100%;
	width:56%;
	height: 786px;
	top:0;
	left: -24%;
	transform: translate(-50% -50%); 
}
#insta .bg::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/grd_orange@2x.png")no-repeat bottom left;
	background-size: 100% 100%;
	width:56%;
	height: 786px;
	bottom: -30%;
	right: -24%;
	transform: translate(-50% -50%); 
}
#insta .insta_inbox{
	position: relative;
	z-index: 2;
}
#insta .title,
#insta .insta_abs2{
    font-size: min(690%,8vw);
	letter-spacing: 0.1em;
	line-height: 1em;
}
#insta .title .abs1{
	width: 7.1em;
	padding-right: 5em;
	box-sizing: border-box;
	text-align: left;
	margin: 0 auto -0.3em;
}
#insta .title .abs1 img{
	margin-left: 0;
	margin-right: auto;
}
#insta .title .title_inbox{
	display: flex;
    justify-content: center;
	align-items: flex-end;
	color: #e2e0c7;
	padding-left: 1em;
	box-sizing: border-box;
}
#insta .title .title_inbox .abs2{
	width: .6em;
	height: .9em;
	margin-right: .1em;
	display: flex;
    justify-content: center;
	align-items: center;
}
#insta .title .title_inbox .abs3{
	width: .8em;
	height: .9em;
	margin-left: .1em;
	display: flex;
    justify-content: center;
	align-items: center;
}
#insta .title .title_inbox .insta_abs1{
	width: 1em;
}

#insta .insta_abs2{
	position: absolute;
	z-index: 5;
	width: 1em;
	left: 8%;
	bottom: -110px;
}

#insta .title_txt{
	margin-top: min(30px,2vw);
	margin-bottom: min(50px,4vw);
	font-weight: bold;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#insta .insta_abs2{
	bottom: -8.5vw;
}
}
/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#insta .bg{
	padding-bottom:12%;
}
#insta .bg::before{
	width:56%;
	top:0;
	left: -24%;
}
#insta .bg::after{
	width:56%;
	bottom: -30%;
	right: -24%;
}
#insta .title,
#insta .insta_abs2{
    font-size:400%;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#insta .title .title_inbox{
	position: relative;
	display: inline-block;
	padding-left: 0!important;
}
#insta .title .abs1{
	width: 15em!important;
	margin: 0 auto!important;
	text-align: center!important;
	padding-left: 1em;
}
#insta .title .title_inbox .abs2{
	position: absolute;
	top: .05em;
	left: .2em;
	width: .55em;
	margin-right: 0;
}
#insta .title .title_inbox .abs3{
	position: absolute;
	width: .7em;
	margin-left: 0;
	display: block;
	bottom: -.08em;
	right: -.3em;
}
#insta .title .title_inbox .insta_abs1{
	position: absolute;
	top:-17vw;
	right: -8vw;
	width: 18vw;
}
#insta .title .title_inbox .insta_abs2{
	position: absolute!important;
	z-index: 5!important;
	width: 15vw!important;
	left:-10vw!important;
	bottom: -9vw!important;
}
#insta .title_txt{
	font-size:95%;
	margin-top: 4%;
	margin-bottom: 6%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
}






/* tour
---------------------------------------------------------*/
#tour{
	position: relative;
	z-index: 2;
	margin-bottom: min(120px,9vw);
}
#tour .tour_index{
	background: url("../images/top/tour1@2x.jpg")no-repeat top center;
	background-size: cover;
	width: calc(100% - 30px);
	margin: 0 15px;
}
#tour .tour_index .w1400{
	position: relative;
	text-align: center;
}
#tour .tour_index .tour_index_inbox{
	position: relative;
}
#tour .tour_index .tour_index_inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tour_abs3.svg")no-repeat top right;
	background-size: 100% auto;
	width: 30em;
	height: 27em;
	top:0;
	right: -2em;
}
#tour .tour_index .tour_index_inbox > p,
#tour .tour_index .tour_index_inbox > h2{
	position: relative;
	z-index: 2;
}

#tour .tour_index{
	color: #fff;
	padding: min(90px,7vw) 0 min(225px,18vw);
    font-size: min(100%,1.3vw);
}
#tour .tour_index .ft_lato{
	font-size:680%;
	letter-spacing: 0.1em;
	line-height: 1em;
	opacity: .6;
}
#tour .tour_index .ft_lato span{
	color: #cbffb5;
}
#tour .tour_index h2{
	font-weight: bold;
	font-size:230%;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-top: .7em;
	margin-bottom: 1.8em;
}
#tour .inbox{
	background: #fff;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
	margin-top: min(-60px,-4vw);
	padding: min(70px,5vw) 4% min(60px,4vw);
	box-sizing: border-box;
}
#tour .inbox .box1{
	border-bottom: 1px solid #efefe0;
	padding-bottom: min(40px,3vw);
	max-width: 1200px;
	margin: 0 auto min(60px,5vw);
}
#tour .inbox .box1 .flex_box{
	max-width: 1099px;
	margin: 0 auto;
	align-items: flex-end;	
}
#tour .inbox .box1 .flex_box .txt_l{
	width: 75%;
}
#tour .inbox .box1 .flex_box .txt_l dl{
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 40px;
}
#tour .inbox .box1 .flex_box .txt_l dl:last-child{
	margin-bottom: 0;
}
#tour .inbox .box1 .flex_box .txt_l dl dt{
	width: 10rem;
	background: #87d963;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size:130%;
	letter-spacing: 0.1em;
	line-height: 1.2em;
	padding: 1.2em 0;
	box-sizing: border-box;
	border-radius: 20px;
}
#tour .inbox .box1 .flex_box .txt_l dl:nth-child(2) dt{
	background: #ddb86d;
}
#tour .inbox .box1 .flex_box .txt_l dl dd{
	width: calc(100% - 13rem);
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check{
    font-size: min(135%,2vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin-bottom: -1.1em;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li{
	display: inline-block;
	position: relative;
	padding-left:2.5em;
	box-sizing: border-box;
	margin-right: 1.5em;
	margin-bottom: 1.1em;
	font-weight: bold;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li:nth-child(even){
	margin-right: 0;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tour_abs2.svg")no-repeat top left;
	background-size: 100% auto;
	width:2em;
	height:1.5em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .txt1{
	font-size:min(130%,2vw);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	font-weight: bold;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .txt2{
	line-height: 1.6em;
}

#tour .inbox .box1 .flex_box .img_r{
	position: relative;
	width: 22%;
}
#tour .inbox .box1 .flex_box .img_r .img1{
	position: absolute;
	bottom: min(120px,9vw);
	right: 0;
	width: 100%;
}
#tour .inbox .box1 .flex_box .img_r .img2{
	position: relative;
	z-index: 2;
}

#tour .inbox .box2{
	text-align: center;
}
#tour .inbox .box2 .fs17_2{
	margin-bottom: min(2em,3vw);
}
#tour .inbox .box2 .com_btn1{
	margin-top: min(50px,4vw);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#tour .inbox .box1 .flex_box .txt_l dl{
	margin-bottom: 4vw;
}
#tour .inbox .box1 .flex_box .txt_l dl dt{
	width: 8rem;
	font-size:120%;
	border-radius: 10px;
}
#tour .inbox .box1 .flex_box .txt_l dl dd{
	width: calc(100% - 9rem);
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li{
	margin-bottom: .9em;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li::before{
	width: 1.9em;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .txt1{
	margin-bottom: .1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#tour{
	margin-bottom: 12%;
}
#tour .tour_index{
	width: calc(100% - 3vw);
	margin: 0 1.5vw;
}
#tour .tour_index .tour_index_inbox::before{
	width: 50vw;
	height: 50vw;
	top: 50%;
	transform: translateY(-50%);
	right: -2em;
}

#tour .tour_index{
	padding: 8vw 0 9vw;
    font-size:100%;
}
#tour .tour_index .ft_lato{
	font-size: 280%;
}
#tour .tour_index h2{
	font-size: 130%;
	margin-bottom: 1em;
}
#tour .tour_index p{
	font-size:95%;
	text-align: left;
}
	
#tour .inbox{
	margin-top: -4vw;
	padding: 5% 4% 8%;
}
#tour .inbox .box1{
	padding-bottom:8%;
	margin: 0 auto 8%;
}
#tour .inbox .box1 .flex_box{
	display: block;
}
#tour .inbox .box1 .flex_box .txt_l{
	width: 100%;
}
#tour .inbox .box1 .flex_box .txt_l dl{
	width: 100%;
	display: block;
	margin-bottom: 8%;
}
#tour .inbox .box1 .flex_box .txt_l dl dt{
	width: 100%;
	font-size:110%;
	padding: .5em 0;
	border-radius: 10px;
	margin-bottom: .8em;
}
#tour .inbox .box1 .flex_box .txt_l dl dd{
	width: 100%;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check{
    font-size: 100%;
	letter-spacing: normal;
	margin-bottom: -1.1em;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li{
	padding-left:2.2em;
	margin-right: 1.2em;
	margin-bottom: 1.1em;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .check li::before{
	width: 1.7em;
	top: 55%;
}
#tour .inbox .box1 .flex_box .txt_l dl dd .txt1{
	font-size:110%;
	letter-spacing: normal;
	margin-bottom: .1em;
}

#tour .inbox .box1 .flex_box .img_r{
	position: relative;
	width: 100%;
	margin-top: 8%;
}
#tour .inbox .box1 .flex_box .img_r .img1{
	position: absolute;
	width: 40%;
	bottom: 0;
	left: 4%;
}
#tour .inbox .box1 .flex_box .img_r .img2{
	width: 70%;
	margin-left: auto;
	margin-right: 0;
	position: relative;
	z-index: 2;
}

#tour .inbox .box2 .fs17_2{
	margin-bottom:5%;
}
#tour .inbox .box2 .com_btn1{
	margin-top: 5%;
}
}