@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

html{
    font-size: 62.5%;
}

a{
	color:#000;
	text-decoration:none;
    transition: 0.3s all ease;
}

a:hover{
	opacity: 0.6;
}

.sp{
	display:none !important;
}

body{
	position: relative;
	margin: 0 auto;
	font-size: 2.0rem;
	font-family: "Noto Sans JP", serif;
    font-weight: normal;
    font-style: normal;
	color: #000;
    line-height: 1.8;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	-ms-text-size-adjust: 100%;/*EgdeMobile*/
	-moz-text-size-adjust: 100%;/*firefox*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "palt";
    letter-spacing: 0.06em;
}

img{
    max-width: 100%;
}

.en{
    font-family: "Oswald", sans-serif;
}


/* =====================================
	header
===================================== */

header{
    z-index: 1000;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1080px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
}

header .logo01{
    width: 98px;
}

header .contact{
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 1;
    background: #000;
    border-radius: 18px;
    padding: 9px 26px 11px;
}

/* =====================================
	visual
===================================== */

.visual{
    width: 100%;
    background: url("../img/bg01.png") center top no-repeat;
    padding: 92px 40px 0;
}

@media (min-width: 1921px) {
.visual{
    background: url("../img/bg01.png") center top no-repeat;
    background-size: 100% auto;
}
}

.visual h1{
    font-size: 5.4rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1;
    position: relative;
    display: table;
    margin: 0 auto;
}

.visual h1::before{
    content: "";
    width: 53px;
    height: 61px;
    position: absolute;
    left: -71px;
    top: -9px;
    background: url("../img/moyamoya01.png") center no-repeat;
    background-size: contain;
}

.visual h1 strong{
    font-size: 7.0rem;
    background: #000;
    display: inline-block;
    padding: 0 0 8px 10px;
    margin-bottom: 16px;
}

.visual h1 strong + strong{
    padding: 0 10px 8px 0;
    margin-right: 8px;
}

.visual h1 small{
    font-size: 87%;
}

.visual img{
    margin: 30px auto 0;
    width: 545px;
}

.lead{
    width: 100%;
    padding: 80px 40px 105px;
}

.lead .category{
    width: 100%;
    max-width: 708px;
    display: flex;
    justify-content: space-between;
    font-size: 2.2rem;
    font-weight: 500;
    margin: 0 auto 24px;
}

.lead .category li{
    padding: 5px 16px 8px;
    background: #fdede1;
    border-radius: 10px;
}

.lead .txt01{
    font-size: 4.0rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
}

.lead .txt01 strong{
    font-weight: bold;
    color: #eb653d;
}

.lead .check{
    width: 100%;
    max-width: 840px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 40px;
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1;
    margin: 60px auto 40px;
    position: relative;
    padding: 70px 0 90px;
}

.lead .check::after{
    content: "";
    width: 100%;
    height: 100%;
    border: 4px solid #000;
    border-radius: 40px;
    position: absolute;
    top: -10px;
    left: -10px;
}

.lead .check::before{
    content: "";
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    border-radius: 40px;
    position: absolute;
    bottom: -10px;
    right: -10px;
}

.lead .check li{
    width: 340px;
    padding-left: 44px;
    background: url("../img/check01.png") center left no-repeat;
    background-size: 34px auto;
    position: relative;
    z-index: 10;
}

.lead .check li:nth-child(even){
    padding-left: 78px;
    background: url("../img/check01.png") center left 32px no-repeat;
    background-size: 34px auto;
}

.lead .txt02{
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.642857;
    text-align: center;
}

.lead .txt02 strong{
    font-weight: bold;
    color: #eb653d;
}

.lead .arrow{
    font-size: 4.0rem;
    font-weight: 500;
    color: #eb653d;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.26em;
    width: 293px;
    height: 113px;
    margin: 27px auto 30px;
    background: url("../img/arrow01.png") center no-repeat;
    background-size: contain;
    display: flex;
    justify-content: center;
    align-items: center;
}

.manga{
    padding: 56px 40px;
    background: url("../img/bg02.png") repeat;
}

.manga img{
    margin: 0 auto;
}

.nayami{
    padding: 120px 40px;
}

.nayami h2{
    font-size: 4.0rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    margin-bottom: 30px;
}

.nayami h2 strong{
    font-size: 150%;
    color: #eb653d;
    display: block;
    margin-top: 20px;
}

.nayami p{
    font-size: 2.4rem;
    line-height: 1.75;
    text-align: center;
}

.nayami p strong{
    font-weight: bold;
    color: #eb653d;
}

.nayami .solution{
    width: 100%;
    max-width: 960px;
    margin: 50px auto 0;
    background: #fdede1;
    border-radius: 30px;
    padding: 80px 40px 90px;
}

.nayami .solution .step{
    width: 100%;
    max-width: 822px;
    margin: 0 auto 50px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 2.9195%;
    row-gap: 24px;
}

.nayami .solution .step div{
    width: 31.387%;
    border-radius: 20px;
    padding: 24px 20px 20px;
}

.nayami .solution .step div:nth-child(1){
    background: #01897b;
}

.nayami .solution .step div:nth-child(2){
    background: #43a047;
}

.nayami .solution .step div:nth-child(3){
    background: #c1cb34;
}

.nayami .solution .step div:nth-child(4){
    background: #feb402;
}

.nayami .solution .step div:nth-child(5){
    background: #fb8b01;
}

.nayami .solution .step div dt{
    font-size: 2.3rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1;
}

.nayami .solution .step div dt small{
    font-size: 2.0rem;
    font-weight: 500;
    display: block;
    margin-bottom: 8px;
}

.nayami .solution .step div dd{
    font-size: 2.1rem;
    color: #fff;
    text-align: center;
    line-height: 1.33;
    margin-top: 18px;
}

.nayami .solution .nayamiList{
    width: 100%;
    max-width: 828px;
    margin: 50px auto 48px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 2.4%;
    row-gap: 20px;
}

.nayami .solution .nayamiList li{
    width: 48.8%;
    background: #fff;
    border-radius: 20px;
    padding: 22px 24px 26px 88px;
    box-shadow: 4px 4px 3px 0px rgb(61, 68, 88, 0.2);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4167;
    position: relative;
}

.nayami .solution .nayamiList li::before{
    content: "";
    width: 59px;
    height: 58px;
    background: url("../img/moyamoya02.png") center no-repeat;
    background-size: contain;
    position: absolute;
    top: -10px;
    left: 15px;
}

.nayami .solution .nayamiList li:last-child{
    width: 58.454%;
}

.nayami .txt01{
    font-size: 2.9rem;
}

.diagnosis{
    width: 100%;
    padding: 120px 40px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}

.diagnosis h2{
    width: 100%;
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-bottom: 44px;
}

.diagnosis h2 strong{
    font-size: 6.0rem;
    font-weight: 900;
    color: #eb653d;
    text-align: center;
    line-height: 1.33;
    margin-top: 14px;
    display: block;
}

.diagnosis .imgArea{
    width: 100%;
    max-width: 500px;
    padding-right: 40px;
}

.diagnosis .imgArea img{
    max-width: 100%;
    margin: 0 0 0 auto;
}

.diagnosis p{
    font-size: 2.2rem;
    line-height: 1.91;
}

.diagnosis p strong{
    font-weight: bold;
    color: #eb653d;
}

.power{
    width: 100%;
    padding: 120px 40px;
}

.power h2{
    width: 100%;
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-bottom: 52px;
}

.power h2 strong{
    font-size: 6.0rem;
    font-weight: 900;
    color: #eb653d;
    text-align: center;
    line-height: 1.33;
    margin-top: 14px;
    display: block;
}

.power ul{
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}

.power ul li{
    width: 100%;
    padding: 40px 50px 50px;
    border: 3px solid #eb653d;
    border-radius: 30px;
    margin-bottom: 40px;
}

.power ul li:last-child{
    margin-bottom: 0;
}

.power ul li h3{
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.25;
    display: flex;
    align-items: center;
}

.power ul li h3 strong{
    color: #eb653d;
    font-weight: bold;
}

.power ul li .en{
    font-size: 5.6rem;
    font-weight: normal;
    line-height: 1;
    color: #eb653d;
    margin-right: 20px;
}

.power ul li p{
    margin-top: 30px;
    padding-left: 26.8456%;
}

.power ul li:nth-child(1) p{
    background: url("../img/icon01.png") center left 3.62416% no-repeat;
    background-size: 17.3154% auto;
}

.power ul li:nth-child(2) p{
    background: url("../img/icon02.png") center left 3.62416% no-repeat;
    background-size: 17.3154% auto;
}

.power ul li:nth-child(3) p{
    background: url("../img/icon03.png") center left 4.69799% no-repeat;
    background-size: 15.4362% auto;
}

.supplier{
    width: 100%;
    padding: 120px 40px 130px;
}

.supplier h2{
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-bottom: 22px;
}

.supplier h2 strong{
    font-size: 6.0rem;
    font-weight: 900;
    color: #eb653d;
    text-align: center;
    line-height: 1.33;
    margin-top: 14px;
    display: block;
}

.supplier h2 + p{
    font-size: 2.4rem;
    text-align: center;
    line-height: 1.75;
    margin-bottom: 50px;
}

.supplier p strong{
    font-weight: bold;
    color: #eb653d;
}

.supplier .ba{
    width: 100%;
    max-width: 980px;
    padding: 40px;
    border-radius: 30px;
    background: #fdede1;
    margin: 0 auto 110px;
}

.supplier .ba li{
    width: 100%;
    padding: 20px 50px 52px;
    border-radius: 30px;
    background: #fff;
    margin-bottom: 40px;
}

.supplier .ba li:last-child{
    margin-bottom: 0;
    position: relative;
}

.supplier .ba li:last-child::before{
    content: "";
    background: url("../img/arrow02.png") center no-repeat;
    background-size: 120px 65px;
    width: 120px;
    height: 65px;
    position: absolute;
    top: -54px;
    left: 50%;
    transform: translateX(-50%);
}

.supplier .ba li h3{
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    color: #fff;
    width: 353px;
    height: 60px;
    border-radius: 30px;
    padding-top: 8px;
    display: table;
    margin: 0 auto 23px;
}

.supplier .ba li.before h3{
    background: #3d4458;
}

.supplier .ba li.after h3{
    background: #eb653d;
}

.supplier .ba li .txt01{
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.46154;
    text-align: center;
    margin-bottom: 32px;
}

.supplier .ba li .imgArea{
    width: 100%;
    position: relative;
    margin-bottom: 52px;
}

.supplier .ba li.before .imgArea::before{
    content: "";
    background: url("../img/illust02.png") center bottom no-repeat;
    background-size: 100% auto;
    width: 26.125%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: -2.75%;
}

.supplier .ba li.after .imgArea::before{
    content: "";
    background: url("../img/illust03.png") center bottom no-repeat;
    background-size: 100% auto;
    width: 24.25%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: -2.25%;
}

.supplier .ba li.before img{
    width: 75%;
}

.supplier .ba li.after img{
    width: 75%;
    margin: 0 0 0 auto;
}

.supplier .column{
    width: 100%;
    max-width: 840px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    margin: 0 auto;
    position: relative;
    padding: 50px 50px 51px 0;
}

.supplier .column::after{
    content: "";
    width: 100%;
    height: 100%;
    border: 4px solid #000;
    border-radius: 40px;
    position: absolute;
    top: -10px;
    left: -10px;
}

.supplier .column::before{
    content: "";
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    border-radius: 40px;
    position: absolute;
    bottom: -10px;
    right: -10px;
}

.supplier .column h4{
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    z-index: 10;
}

.supplier .column .imgArea{
    width: 38.33%;
    margin-left: -4.7619%;
    z-index: 10;
}

.supplier .column .imgArea img{
    width: 100%;
    box-shadow: 13px 13px 0px 0px rgba(0, 0, 0, 0.5);
}

.supplier .column p{
    width: 61%;
    z-index: 10;
}

.service{
    width: 100%;
    padding: 120px 40px;
    background: #fdede1;
}

.service h2{
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-bottom: 72px;
}

.service h2 strong{
    font-size: 6.0rem;
    font-weight: 900;
    color: #eb653d;
    text-align: center;
    line-height: 1.33;
    margin-top: 14px;
    display: block;
}

.service ul{
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}

.service ul li{
    width: 100%;
    border: 3px solid #eb653d;
    background: #fff;
    position: relative;
    border-radius: 30px;
    padding: 0 40px 53px;
    margin-bottom: 60px;
}

.service ul li:last-child{
    margin-bottom: 0;
}

.service ul li::before{
    content: "";
	width: 120px;
	height: 120px;
	border: solid 3px #eb653d;
	border-radius: 50%;
    position: absolute;
    top: -31px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
}

.service ul li::after{
    content: "";
	width: 126px;
	height: 101px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
}

.service ul li h3{
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    position: relative;
    z-index: 10;
    margin-bottom: 40px;
}

.service ul li h3 span{
    font-size: 5.6rem;
    font-weight: normal;
    color: #eb653d;
    display: block;
    margin: -10px 0 8px;
}

.service ul li img{
    margin: 0 auto 33px;
}

.service ul li p{
    padding: 0 20px;
}

.cv{
    width: 100%;
    background: url("../img/bg03.png") repeat;
    padding: 70px 40px 80px;
}

.cv h2{
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
}

.cv p{
    text-align: center;
    color: #fff;
    margin-bottom: 22px;
}

.cv a{
    font-size: 3.0rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: #000;
    width: 452px;
    height: 90px;
    padding-top: 27px;
    margin: 0 auto;
    display: table;
    border-radius: 45px;
    position: relative;
}

.cv a::before,
.cv a::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 36px;
  width: 19px;
  height: 4px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 2px) 50%;
}

.cv a::before {
  transform: rotate(45deg);
}

.cv a::after {
  transform: rotate(-45deg);
}





/* =====================================
	footer
===================================== */

footer{
    width: 100%;
    padding: 40px;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1;
}

footer img{
    width: 99px;
    margin: 0 auto 10px;
}



@media screen and (max-width:768px){

.pc{
	display:none !important;
}

.sp{
	display:block !important;
}

a:hover{
	opacity: 1;
}

body{
    font-size: 3.467vw;
    width: 100%;
    overflow-x: hidden;
    letter-spacing: 0;
}

/* =====================================
	header
===================================== */

header{
    width: 100%;
    padding: 2.933vw 4vw;
}

header .logo01{
    width: 20.267vw;
}

header .contact{
    font-size: 3.544vw;
    border-radius: 4vw;
    padding: 2.2vw 6vw 0;
    height: 8vw;
}

/* =====================================
	visual
===================================== */

.visual{
    background: url("../img/sp/bg01.png") center top no-repeat;
    background-size: 100% auto;
    padding: 17.6vw 0 0;
}

.visual h1{
    font-size: 9.38133vw;
    line-height: 1.11;
}

.visual h1::before{
    width: 10.267vw;
    height: 11.867vw;
    left: 5.6vw;
    top: 1.6vw;
}

.visual h1 strong{
    font-size: 12.2vw;
    padding: 0 2.67vw 1.067vw 2.67vw;
    margin-bottom: 1.467vw;
    line-height: 1;
}

.visual h1 strong + strong{
    padding: 0 2.67vw 1.067vw 2.67vw;
    margin-right: 1.33vw;
}

.visual h1 small{
    line-height: 1;
}

.visual img{
    margin: 4vw auto 0;
    width: 89.2vw;
}

.lead{
    padding: 4vw 0 14.267vw;
}

.lead .category{
    max-width: 84.8vw;
    flex-wrap: wrap;
    font-size: 4.444vw;
    margin: 0 auto 4.67vw;
    row-gap: 1.33vw;
}

.lead .category li{
    padding: 1vw 0 0;
    border-radius: 10px;
    width: 41.067vw;
    height: 10.533vw;
    text-align: center;
}

.lead .txt01{
    font-size: 6.933vw;
}

.lead .check{
    max-width: 78.67vw;
    row-gap: 4.8vw;
    font-size: 5.44vw;
    margin: 7.33vw auto 4.933vw;
    padding: 9.33vw 0 12.4vw 12.8vw;
    justify-content: flex-start;
}

.lead .check::after{
    border: 0.533vw solid #000;
    border-radius: 5.33vw;
    top: -1.33vw;
    left: -1.33vw;
}

.lead .check::before{
    border-radius: 5.33vw;
    bottom: -1.33vw;
    right: -1.33vw;
}

.lead .check li{
    width: auto;
    padding-left: 7.33vw;
    background: url("../img/check01.png") center left no-repeat;
    background-size: 5.733vw auto;
}

.lead .check li:nth-child(even){
    padding-left: 7.33vw;
    background: url("../img/check01.png") center left no-repeat;
    background-size: 5.733vw auto;
}

.lead .txt02{
    font-size: 4.8533vw;
}

.lead .arrow{
    font-size: 6.91067vw;
    width: 50.933vw;
    height: 19.6vw;
    margin: 5.33vw auto 4.933vw;
}

.manga{
    padding: 16vw 8.67vw;
    background: url("../img/bg02.png") repeat;
    background-size: 1.33vw;
}

.manga img{
    margin: 0 auto;
}

.nayami{
    padding: 21.33vw 0;
}

.nayami h2{
    font-size: 5.733vw;
    margin-bottom: 4.4vw;
}

.nayami h2 strong{
    line-height: 1.2165;
    margin-top: 2.4vw;
}

.nayami p{
    font-size: 4.16533vw;
}

.nayami .solution{
    max-width: 89.33vw;
    margin: 9.067vw auto 0;
    border-radius: 4vw;
    padding: 5.33vw 5.33vw 13.867vw;
}

.nayami .solution .step{
    margin: 0 auto 6.267vw;
    column-gap: 0;
    row-gap: 2.67vw;
}

.nayami .solution .step div{
    width: 100%;
    border-radius: 2.67vw;
    padding: 4vw 2.67vw 4.67vw;
}

.nayami .solution .step div dt{
    font-size: 4.164vw;
}

.nayami .solution .step div dt small{
    font-size: 3.748vw;
    margin-bottom: 1.33vw;
}

.nayami .solution .step div dd{
    font-size: 3.748vw;
    margin-top: 4.4vw;
}

.nayami .solution .nayamiList{
    margin: 6.4vw auto 5.867vw;
    column-gap: 0;
    row-gap: 2.67vw;
}

.nayami .solution .nayamiList li{
    width: 100%;
    border-radius: 2.67vw;
    padding: 3.733vw 4vw 4.267vw 14.133vw;
    box-shadow: 0.533vw 0.533vw 0.4vw 0px rgb(61, 68, 88, 0.2);
    font-size: 4.16vw;
}

.nayami .solution .nayamiList li::before{
    width: 10vw;
    height: 10vw;
    top: -1.33vw;
    left: 1.867vw;
}

.nayami .solution .nayamiList li:last-child{
    width: 100%;
}

.nayami .txt01{
    font-size: 4.992vw;
}

.diagnosis{
    padding: 16vw 0 19.467vw;
}

.diagnosis h2{
    font-size: 5.733vw;
    margin-bottom: 6.267vw;
}

.diagnosis h2 strong{
    font-size: 10.4vw;
    margin-top: 1.6vw;
}

.diagnosis .imgArea{
    max-width: auto;
    padding-right: 0;
}

.diagnosis .imgArea img{
    max-width: 72.4vw;
    margin: 0 auto 6.133vw;
}

.diagnosis p{
    font-size: 3.8133vw;
    padding: 0 5.33vw;
}

.power{
    padding: 16vw 0 21.33vw;
}

.power h2{
    font-size: 5.733vw;
    margin-bottom: 6.267vw;
}

.power h2 strong{
    font-size: 10.4vw;
    margin-top: 1.6vw;
}

.power ul{
    max-width: 89.33vw;
}

.power ul li{
    padding: 4.533vw 5.33vw 9.067vw;
    border: 0.4vw solid #eb653d;
    border-radius: 4vw;
    margin-bottom: 8vw;
}

.power ul li h3{
    font-size: 6.24vw;
    display: block;
    text-align: center;
}

.power ul li .en{
    font-size: 9.7067vw;
    margin: 0 0 1.33vw;
    display: block;
}

.power ul li p{
    margin-top: 4.533vw;
    padding: 26.4vw 0 0;
}

.power ul li:nth-child(1) p{
    background: url("../img/icon01.png") center top no-repeat;
    background-size: 22.4vw auto;
}

.power ul li:nth-child(2) p{
    background: url("../img/icon02.png") center top no-repeat;
    background-size: 22.4vw auto;
}

.power ul li:nth-child(3) p{
    background: url("../img/icon03.png") center top no-repeat;
    background-size: 22.4vw auto;
}

.supplier{
    padding: 16vw 0 20vw;
}

.supplier h2{
    font-size: 5.733vw;
    margin-bottom: 3.2vw;
}

.supplier h2 strong{
    font-size: 10.4vw;
    margin-top: 1.6vw;
}

.supplier h2 + p{
    font-size: 3.84vw;
    margin-bottom: 6.4vw;
}

.supplier .ba{
    max-width: 94.67vw;
    padding: 2.67vw;
    border-radius: 4vw;
    margin: 0 auto 12vw;
}

.supplier .ba li{
    padding: 4vw 2.67vw 6.4vw;
    border-radius: 2vw;
    margin-bottom: 5.33vw;
}

.supplier .ba li:last-child::before{
    background: url("../img/arrow02.png") center no-repeat;
    background-size: 20.8vw 11.2vw;
    width: 20.8vw;
    height: 11.2vw;
    top: -9.2vw;
}

.supplier .ba li h3{
    font-size: 6.933vw;
    width: 61.2vw;
    height: 10.4vw;
    border-radius: 5.2vw;
    padding-top: 1.33vw;
    margin: 0 auto 4vw;
}

.supplier .ba li .txt01{
    font-size: 4.5067vw;
    margin-bottom: 4vw;
}

.supplier .ba li .imgArea{
    margin-bottom: 4vw;
}

.supplier .ba li.before .imgArea::before{
    display: none;
}

.supplier .ba li.after .imgArea::before{
    display: none;
}

.supplier .ba li.before img{
    width: 100%;
}

.supplier .ba li.after img{
    width: 100%;
}

.supplier .ba li p{
    padding: 0 1.33vw;
}

.supplier .column{
    max-width: 89.33vw;
    gap: 0;
    padding: 6.133vw 6.67vw 10.533vw;
}

.supplier .column::after{
    border: 0.533vw solid #000;
    border-radius: 5.33vw;
    top: -1.33vw;
    left: -1.33vw;
}

.supplier .column::before{
    border-radius: 5.33vw;
    bottom: -1.33vw;
    right: -1.33vw;
}

.supplier .column h4{
    font-size: 5.5467vw;
    line-height: 1.25;
}

.supplier .column .imgArea{
    width: 43.032vw;
    margin: 4.267vw auto 5.6vw;
}

.supplier .column .imgArea img{
    box-shadow: 1.733vw 1.733vw 0px 0px rgba(0, 0, 0, 0.5);
}

.supplier .column p{
    width: 100%;
}

.service{
    padding: 16vw 0 21.33vw;
}

.service h2{
    font-size: 5.733vw;
    margin-bottom: 9.6vw;
}

.service h2 strong{
    font-size: 10.4vw;
    margin-top: 1.6vw;
}

.service ul{
    max-width: 89.33vw;
}

.service ul li{
    border: 0.4vw solid #eb653d;
    border-radius: 4vw;
    padding: 0 5.33vw 6.133vw;
    margin-bottom: 10.67vw;
}

.service ul li::before{
	width: 20.8vw;
	height: 20.8vw;
	border: solid 0.4vw #eb653d;
    top: -5.6vw;
}

.service ul li::after{
	width: 21.6vw;
	height: 16vw;
}

.service ul li h3{
    font-size: 6.24vw;
    margin-bottom: 5.33vw;
}

.service ul li h3 span{
    font-size: 9.7067vw;
    margin: -1.33vw 0 1vw;
}

.service ul li img{
    width: 100%;
    margin: 0 auto 4vw;
}

.service ul li p{
    padding: 0;
}

.cv{
    background: url("../img/bg03.png") repeat;
    background-size: 2vw;
    padding: 9.33vw 0 10.67vw;
}

.cv h2{
    font-size: 8.32133vw;
    margin-bottom: 2.267vw;
}

.cv p{
    margin-bottom: 2.933vw;
    line-height: 1.538;
}

.cv a{
    font-size: 4vw;
    width: 60.267vw;
    height: 12vw;
    padding-top: 3.6vw;
    border-radius: 6vw;
}

.cv a::before,
.cv a::after {
  top: calc(50% - 0.267vw);
  right: 4.8vw;
  width: 2.533vw;
  height: 0.533vw;
  transform-origin: calc(100% - 0.267vw) 50%;
}





/* =====================================
	footer
===================================== */

footer{
    padding: 5.33vw;
    font-size: 2.7733vw;
}

footer img{
    width: 17.2vw;
    margin: 0 auto 1.33vw;
}


}