.mv_inner {
 background-color: #8bf2e3;
 padding: min(20rem, calc(200vw / 13.66)) 0  min(12.5rem, calc(125vw / 13.66));
}
.mv_inner {
 position: relative;
 background-image:  url(../images/top/what_bg.svg) ,  url(../images/top/what_bg.svg);
 background-repeat: repeat, repeat;
 background-size: contain,contain;
 background-color: #8bf2e3;
 background-position: 0 0, 0  calc(130vw / 13.66);
 animation: mv_bg forwards linear 20s infinite;
}


@keyframes mv_bg {
 0% {
  background-position: 0 0, 0 calc(130vw / 13.66);
 }
 100% {
  background-position: -100vw 0, 100vw  calc(130vw / 13.66);
 }
}
.mv_flex  {
 width:  min(132rem, calc(1320vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
 position: relative;
 left:  max(-11rem, calc(-110vw / 13.66));
}
.mv_img {
 width:  min(66.4rem, calc(664vw / 13.66));
}
.mv_detail {
 width:  min(61rem, calc(610vw / 13.66));
 text-align: left;
}
.mv_ttl {
 font-size: 8rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 line-height: 1.5;
}
.mv_ttl span{
 font-size: 14rem;
 font-weight: 600;
 color: #ff331f;
 line-height: 1;
 display: inline-block;
 text-indent: -0.08em;
}
.mv_txt {
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.12em;
 margin-top: min(2rem, calc(20vw / 13.66));
}

.mv_food {
 width:  min(37rem, calc(370vw / 13.66));
 position: absolute;
 top: min(58rem, calc(580vw / 13.66));
 left: 0;
 right: min(-112rem, calc(-1120vw / 13.66));
 margin: 0 auto;
 z-index: 1;
}



.about_main_inner {
 position: relative;
 padding: min(13.5rem, calc(135vw / 13.66)) 0 min(34rem, calc(340vw / 13.66));
 background-color: #86e5ea;
}

.about_main_inner::after {
 content: "";
 width: 100%;
 height: min(12rem, calc(120vw / 13.66));
 background: url(../images/common/wave_skyblue.svg) repeat-x;
 position: absolute;
 top: max(-6rem, calc(-60vw / 13.66));
 left: 0;
}
.about_main_bg_img {
 width: min(36.2rem, calc(362vw / 13.66));
 position: absolute;
 bottom:  max(-7rem, calc(-70vw / 13.66));
 left:  max(-111rem, calc(-1110vw / 13.66));
 right: 0;
 margin: 0 auto;
 z-index: 2;

}
.about_top {
 width: min(110rem, calc(1100vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.about_top_item {
 width:  min(52.5rem, calc(525vw / 13.66)) ;
}
.about_top_item_box {
 width: 100%;
 position: relative;
}
.about_top_item_box::before {
 content: '';
 width: 100%;
 height: 100%;
 border: #333333 solid 2px;
 border-radius:  min(.5rem, calc(5vw / 13.66));
 box-sizing: border-box;
 position: absolute;
 top:   min(.7rem, calc(7vw / 13.66));
 left:   min(.7rem, calc(7vw / 13.66));
 background-color: #fff;
}
.about_top_item_box_inner {
 width: 100%;
 background-color: #00a4b5;
 box-sizing: border-box;
 border: #333333 solid 2px;
padding:  min(3rem, calc(30vw / 13.66)) 0  min(3rem, calc(30vw / 13.66));
 border-radius:  min(.5rem, calc(5vw / 13.66));
 color: #fff;
 position: relative;
 z-index: 1;
}
.about_top_item:last-of-type .about_top_item_box_inner {
 background-color: #eb6f4a;
}
.about_top_item_box_inner::before {
 content: '';
 width: min(3.2rem, calc(32vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 background-color: #333333;
 position: absolute;
 left: 0;
 right: max(-1.2rem, calc(-12vw / 13.66));
 margin: 0 auto;
 bottom:  max(-2.9rem, calc(-29vw / 13.66));
}
.about_top_item_box_inner::after {
 content: '';
 width: min(3.2rem, calc(32vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 background-color: #fff;
 position: absolute;
 left: 0;
 right: max(-1.2rem, calc(-12vw / 13.66));
 margin: 0 auto;
 bottom:  max(-2.5rem, calc(-25vw / 13.66));
}
.about_top_icon {
 width:  min(7.2rem, calc(72vw / 13.66));
 margin: 0 auto;
}
.about_top_box_ttl {
 font-size: 3.6rem;
 font-weight: 600;
 letter-spacing: 0.09em;
 line-height: 1.5;
 margin-top: min(1rem, calc(10vw / 13.66));
}
.about_top_box_txt {
 font-size: 2rem;
 font-weight: 600;
 letter-spacing: 0.09em;
}
.about_top_item_box_inner .arrow {
 width: min(3.2rem, calc(32vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 bottom:  max(-2.2rem, calc(-22vw / 13.66));
 z-index: 2;
}
.about_top_item_box_inner .arrow::before {
 content: '';
 width: min(3.2rem, calc(32vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 background-color: #333333;
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 bottom: 0;
 z-index: 2;
}
.about_top_item_box_inner .arrow::after {
 content: '';
 width: min(3.2rem, calc(32vw / 13.66));
 height: min(2.2rem, calc(22vw / 13.66));
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 background-color: #00a4b5;
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 bottom:  min(.4rem, calc(4vw / 13.66));
 z-index: 2;
}
.about_top_item:last-of-type .about_top_item_box_inner .arrow::after {
 background-color: #eb6f4a;
}
.about_top_txt {
 text-align: justify;
 margin-top:  min(7.5rem, calc(75vw / 13.66));

}
.about_top_txt p{
 box-decoration-break:clone;
 -webkit-box-decoration-break: clone;
 display: inline;
 font-size: 1.6rem;
 font-weight: 600;
 padding: 0  min(.5rem, calc(5vw / 13.66));
 background-color: #fff;
 line-height: 1.7;
 margin-bottom:  min(.5rem, calc(5vw / 13.66));
 letter-spacing: 0.12em;
}


.about_business {
 position: relative;
 margin-top:  min(10.5rem, calc(105vw / 13.66));
 display: flex;
 justify-content: center;
 align-items: flex-start;
 gap: 0 min(2rem, calc(20vw / 13.66));
}
.about_business_flex {
 width: min(77rem, calc(770vw / 13.66));
 display: flex;
 margin: 0 ;
 align-items: flex-start;
 flex-wrap: wrap;
 gap: min(11.5rem, calc(115vw / 13.66)) 0;
}
.about_business_flex:last-of-type {
 width: min(37.5rem, calc(375vw / 13.66));
 gap: min(11.5rem, calc(115vw / 13.66)) 0;
}
.about_business_btn {
 pointer-events: none;
}

.about_business_01 {
 width: min(35.4rem, calc(354vw / 13.66));
 padding-top: min(15rem, calc(150vw / 13.66)) ;
}
.about_business_02 {
 width: min(37rem, calc(370vw / 13.66));
}
.about_business_03 {
 width: min(47rem, calc(470vw / 13.66));
}
.about_business_04 {
 width: min(32.5rem, calc(325vw / 13.66));
 position: absolute;
 left: max(22rem, calc(220vw / 13.66));
 right: 0;
 margin: 0 auto;
 top:  min(66.5rem, calc(665vw / 13.66));

}
.about_business_05 {
 width: min(37.5rem, calc(375vw / 13.66));
}

.about_business_06 {
 width: min(34rem, calc(340vw / 13.66));
 margin-left: auto;
}
.about_business_07 {
 width: min(37.5rem, calc(375vw / 13.66));
 position: absolute;
 left: 0;
 right: 0;
 margin: 0 auto;
 top:  min(32rem, calc(320vw / 13.66));

}




.about_other_inner {
 background: #6ddafc;
 padding:  min(15rem, calc(150vw / 13.66)) 0;
 position: relative;
}

.about_other_inner::after {
 content: "";
 width: 100%;
 height: min(12rem, calc(120vw / 13.66));
 background: url(../images/common/wave_blue.svg) repeat-x;
 position: absolute;
 top: max(-6rem, calc(-60vw / 13.66));
 left: 0;
}

.about_other_bg_img {
 width: min(23.6rem, calc(236vw / 13.66));
 position: absolute;
 top:  min(4.5rem, calc(45vw / 13.66));
 left: 0;
 right:  max(-105rem, calc(-1050vw / 13.66));
 margin: 0 auto;
}
.about_other_bg_img::before {
 content: '';
 width:  min(3.2rem, calc(32vw / 13.66));
 height:  min(2.6rem, calc(26vw / 13.66));
 background: url(../images/about/about_img_10_left.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: min(9.2rem, calc(92vw / 13.66));
 left: max(-.7rem, calc(-7vw / 13.66));
 z-index: 1;
}
.about_other_bg_img::after {
 content: '';
 width:  min(3.2rem, calc(32vw / 13.66));
 height:  min(2.6rem, calc(26vw / 13.66));
 background: url(../images/about/about_img_10_right.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: min(9rem, calc(90vw / 13.66));
 right: min(9.5rem, calc(95vw / 13.66));
 z-index: 1;
}
.about_other_flex {
 width: min(117rem, calc(1170vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 position: relative;
}
.about_other_item {
 width: min(56rem, calc(560vw / 13.66));
 box-sizing: border-box;
 background-color: #fff;
 border: #333333 solid  min(.2rem, calc(2vw / 13.66));
 border-radius:  min(.5rem, calc(5vw / 13.66));
 box-sizing: border-box;
 padding:  min(3.5rem, calc(35vw / 13.66))  min(3.5rem, calc(35vw / 13.66))  min(5rem, calc(50vw / 13.66));
}
.about_other_img {
 width: 100%;
 box-sizing: border-box;
 border: #333333 solid  min(.2rem, calc(2vw / 13.66));
 border-radius:  min(.5rem, calc(5vw / 13.66));
 overflow: hidden;
}

.about_other_detail {
 text-align: justify;
 margin-top:  min(2.5rem, calc(25vw / 13.66));

}
.about_other_ttl {
 font-size: 3rem;
 font-weight: 600;
 letter-spacing: 0.09em;
}
.about_other_txt {
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.12em;
 margin: min(1rem, calc(10vw / 13.66)) 0 min(4rem, calc(40vw / 13.66));
}
.about_other_detail .btn {
 margin: 0 auto;
}



@media screen and (max-width: 767px) {
 .mv_inner {
 padding:10rem 0 ;
}
.mv_inner {
 background-position: 0 0, 0  3.5rem;
 animation: mv_bg forwards linear 15s infinite;
}


@keyframes mv_bg {
 0% {
  background-position: 0 0, 0 3.5rem;
 }
 100% {
  background-position: -100vw 0, 100vw  3.5rem;
 }
}
.mv_flex  {
 width: 100%;
 flex-direction: column-reverse;
 left: 0;
}
.mv_img {
 width:  29rem;
 margin: 0 auto;
 position: absolute;
 left: 0;
 right: 0;
 top: 14rem;
}
.mv_detail {
 width: 33.5rem;
 text-align: justify;
}
.mv_ttl {
 font-size: 4rem;
}
.mv_ttl span{
 font-size: 7rem;
}
.mv_txt {
 font-size: 1.4rem;
 line-height: 1.78;
 letter-spacing: 0.06em;
 margin-top:30rem;
}

.mv_food {
 width: 13.4rem;
 top: 64rem;
 left: auto;
 right:-1rem;
 margin: 0 ;
}



.about_main_inner {
 padding:7rem 0 9rem;
}

.about_main_inner::after {
 height:6rem;
 top: -3rem;
 background-size: cover;
}
.about_main_bg_img {
 width: 18rem;
 bottom:-4rem;
 left: -5rem;
 right: auto;
 margin: 0 ;

}
.about_top {
 width:33.5rem;
 align-items: stretch;
}
.about_top_item {
 width:16rem ;
}
.about_top_item_box::before {
 border: #333333 solid .1rem;
 border-radius:.2rem;
 top:  .3rem;
 left:  .3rem;
}
.about_top_item_box_inner {
 border: #333333 solid .1rem;
padding:1.2rem 0  1.8rem;
 border-radius:.2rem;
}
.about_top_item_box_inner::before {
 width:1rem;
 height: .8rem;
 right: -.5rem;
 bottom: -1.1rem;
}
.about_top_item_box_inner::after {
 width:1rem;
 height: .8rem;
 right:-.5rem;
 bottom: -.9rem;
}
.about_top_icon {
 width: 3rem;
}
.about_top_box_ttl {
 font-size: 2.3rem;
 line-height: 1.34;
 margin-top: 0.5rem;
 min-height: 6.2rem;
 display: flex;
 align-items: center;
 justify-content: center;
}
.about_top_box_txt {
 width: 13.3rem;
 margin: 0 auto;
 text-align: justify;
 letter-spacing: 0.06em;
 font-size: 1.4rem;
 line-height: 1.6;
 margin-top: .5rem;
}
.about_top_item_box_inner .arrow {
 width:1rem;
 height:.8rem;
 bottom: -.8rem;
}
.about_top_item_box_inner .arrow::before {
 width: 1rem;
 height:.8rem;
}
.about_top_item_box_inner .arrow::after {
 width: 1rem;
 height:.8rem;
 bottom: .2rem;
}

.about_top_txt {
 margin-top: 3rem;

}
.about_top_txt p{
 font-size: 1.4rem;
 padding: 0  .25rem;
 line-height: 1.6;
 margin-bottom:  .5rem;
 letter-spacing: 0.06em;
}


.about_business {
 margin-top: 4.5rem;
 flex-direction: column;
 gap: 0;
}
.about_business_flex {
 width:33.5rem;
 flex-wrap: wrap;
 align-items: flex-start;
 position: relative;
 margin: 0 auto;
 gap: 0;
}
.about_business_flex:last-of-type {
 width: 33.5rem;
 margin-top: 11.3rem;
 flex-direction: column-reverse;
 gap: 0;
}
.about_business_01 {
 width: 17.5rem;
 padding-top:0;
 margin-left: auto;
}
.about_business_02 {
 width: 20rem;
 position: absolute;
 top: 10rem;
 left: 0;
}
.about_business_03 {
 width: 23.5rem;
 margin: 0 ;
 margin-left: auto;
 margin-top: 12rem;
}
.about_business_04 {
 width: 16.2rem;
 position: absolute;
 left:auto;
 right: 2rem;
 margin: 0 ;
 top: 58rem;

}
.about_business_05 {
 width:19.6rem;
 margin-left: auto;
 margin-top: -5rem;
}

.about_business_06 {
 width:16.5rem;
 margin-left:0;
}
.about_business_07 {
 width:24.4rem;
 margin: 0;
 position: static;
 margin-left: 2rem;
}



.about_other_inner {
 padding: 8rem 0 9rem;
}

.about_other_inner::after {
 height:6rem;
 top:-3rem;
 background-size: cover;
}

.about_other_bg_img {
 width:11.6rem;
 top:  2.5rem;
 left: auto;
 right: -.7rem;
 margin: 0 ;
}
.about_other_bg_img::before {
 width: 1.4rem;
 height: 1.2rem;
 top: 4.9rem;
 left:-.5rem;
}
.about_other_bg_img::after {
 width: 1.4rem;
 height: 1.1rem;
 top: 4.8rem;
 right:4.8rem;
}
.about_other_flex {
 width:33.5rem;
 flex-direction: column;
 gap:  2rem 0;
}
.about_other_item {
 width:100%;
 border: #333333 solid  .1rem;
 border-radius: .3rem;
 padding:  2rem  2rem 2.3rem;
}
.about_other_img {
 width: 100%;
 border: #333333 solid  .1rem;
 border-radius: .3rem;
}

.about_other_detail {
 margin-top:1.5rem;

}
.about_other_ttl {
 font-size: 2rem;
}
.about_other_txt {
 font-size: 1.4rem;
 line-height: 1.78;
 letter-spacing: 0.06em;
 margin:.5rem 0 1.5rem;
}
.about_other_detail .btn {
 width: 29.5rem;
 margin: 0 auto;
}
}
