@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
.inner, .MainImage .Text { width: 90%; max-width: 1280px; margin: 0 auto; }
@media (max-width: 959px) { .inner, .MainImage .Text { width: 90%; } }

.inner-m, .About ul { width: 90%; max-width: 1140px; margin: 0 auto; }
@media (max-width: 959px) { .inner-m, .About ul { width: 90%; } }

.inner-s, .Service .Contents { width: 90%; max-width: 1045px; margin: 0 auto; }
@media (max-width: 959px) { .inner-s, .Service .Contents { width: 90%; } }

.inner-ss { width: 90%; max-width: 965px; margin: 0 auto; }
@media (max-width: 959px) { .inner-ss { width: 90%; } }

.MainImage { position: relative; width: 100%; margin: 0 auto; }
@media (max-width: 959px) { .MainImage { padding: 0 0 48vw 0; } }
.MainImage .wrapper { position: relative; }
.MainImage #slider { width: 100%; padding-top: 49.4152%; }
@media (max-width: 959px) { .MainImage #slider { height: 100vw; } }
.MainImage .Contents { position: absolute; top: 120px; left: 0; width: 100%; }
@media (max-width: 959px) { .MainImage .Contents { top: 7.5vw; } }
.MainImage .Text h2 { font-size: 38px; font-weight: 500; line-height: 1.6em; }
@media (max-width: 959px) { .MainImage .Text h2 { font-size: 5.5vw; line-height: 2em; } }
.MainImage .Text h2 span { color: #5fbcb9; }
.MainImage .Text p { margin: 1.5em 0 0 0; font-size: 18px; line-height: 2em; }
@media (max-width: 959px) { .MainImage .Text p { width: 95%; font-size: 3.8vw; margin: 75vw 0 0 0; } }
.MainImage .Btn { display: none; position: absolute; top: 92vw; right: 5%; width: 55%; padding: 0.8em 0 0.8em 22%; box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 0.8em; background: #fff url(../img/top/indexban01_sp.png) no-repeat top left/auto 100%; }
@media (max-width: 959px) { .MainImage .Btn { display: block; } }
.MainImage .Btn em { color: #5fbcb9; font-size: 3.5vw; font-style: normal; }
.MainImage .Btn p { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; font-size: 3vw; }
.MainImage .Btn p:before { content: ""; display: block; width: 1.5em; height: 1.5em; margin-right: 0.5em; background: url(../img/Btn01.svg) no-repeat center center/100% auto; }

.About { padding: 130px 0 135px 0; background: #f8f3e8; }
@media (max-width: 959px) { .About { padding: 10vw 0; } }
.About ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.About li { width: 60%; }
@media (max-width: 959px) { .About li { width: 100%; } }
.About li + li { flex: 1; padding-top: 30px; margin-left: 60px; }
@media (max-width: 959px) { .About li + li { padding-top: 8vw; margin-left: 0; } }
.About img + img { display: block; margin: 0 0 0 auto; width: 245px; height: auto; }
@media (max-width: 959px) { .About img + img { width: 35vw; margin: 1.5vw 0 0 auto; } }
.About h2 { margin-bottom: 0.7em; font-size: 32px; }
@media (max-width: 959px) { .About h2 { margin-bottom: 1.2em; font-size: 5vw; text-align: center; } }
.About h2 span { color: #5fbcb9; }
.About h3 { margin-bottom: 1.3em; font-size: 18.5px; font-weight: 500; line-height: 1.85em; }
@media (max-width: 959px) { .About h3 { width: 100%; margin-bottom: 0; font-size: 3.5vw; font-weight: 400; line-height: 2em; } }
.About p { margin: 0; font-size: 15.5px; line-height: 2.3em; }
@media (max-width: 959px) { .About p { width: 100%; font-size: 3.5vw; line-height: 2em; } }
.About a:link, .About a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 220px; padding: 1em 0; font-size: 20px; font-weight: 500; background: url(../img/dotline01.svg) no-repeat left bottom/100% auto; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .About a:link, .About a:visited { width: 45%; font-size: 4vw; margin: 1em auto 0 auto; } }
.About a:link:before, .About a:visited:before { content: ""; display: block; width: 2em; height: 2em; margin-right: 0.5em; background: url(../img/Btn01.svg) no-repeat center center/100% auto; }
@media (max-width: 959px) { .About a:link:before, .About a:visited:before { width: 1.5em; height: 1.5em; } }
.About a:hover { color: #5fbcb9; }

.Service { padding: 120px 0 145px 0; background: url(../img/top/service_bg_pc.jpg) no-repeat top center/cover; }
@media (max-width: 959px) { .Service { padding: 9vw 0 11vw 0; } }
.Service h2 { font-size: 34px; line-height: 2em; text-align: center; }
@media (max-width: 959px) { .Service h2 { font-size: 5vw; line-height: 1.8em; } }
.Service h2 span { color: #5fbcb9; }
.Service ul.Trouble { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 900px; margin: 65px auto 0 auto; }
@media (max-width: 959px) { .Service ul.Trouble { -webkit-flex-direction: column; flex-direction: column; width: 90%; margin: 5vw auto 0 auto; } }
.Service ul.Trouble > li:nth-child(1) { width: 240px; padding-top: 15px; text-align: center; }
@media (max-width: 959px) { .Service ul.Trouble > li:nth-child(1) { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row-reverse; flex-direction: row-reverse; -webkit-box-align: start; align-items: flex-start; width: 85%; margin: 0 auto; } }
@media (max-width: 959px) { .Service ul.Trouble > li:nth-child(1) img { width: 47%; } }
.Service ul.Trouble > li:nth-child(1) img + img { margin-top: 100px; }
@media (max-width: 959px) { .Service ul.Trouble > li:nth-child(1) img + img { margin-top: 0; } }
.Service ul.Trouble > li:nth-child(2) { flex: 1; margin-left: 35px; }
@media (max-width: 959px) { .Service ul.Trouble > li:nth-child(2) { width: 100%; margin: 10vw 0 0 0; } }
.Service ul.Trouble > li:nth-child(2) ul { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; }
.Service ul.Trouble > li:nth-child(2) ul li span { display: inline-block; width: 90%; padding: 0.85em; font-size: 18px; font-weight: 500; letter-spacing: 0; text-align: center; border-radius: 100px; background: #b4e1ec; }
@media (max-width: 959px) { .Service ul.Trouble > li:nth-child(2) ul li span { width: 100%; padding: 0.8em 0; font-size: 3.2vw; line-height: 1.6em; text-align: center; border-radius: 1.5em; } }
.Service ul.Trouble > li:nth-child(2) ul li:last-child span { width: 100%; }
.Service ul.Trouble > li:nth-child(2) ul li + li { margin-top: 45px; }
@media (max-width: 959px) { .Service ul.Trouble > li:nth-child(2) ul li + li { margin-top: 4vw; } }
.Service ul.Trouble h3 { margin: 85px 0 35px 50px; font-size: 21px; text-align: left; }
@media (max-width: 959px) { .Service ul.Trouble h3 { margin: 8vw 0 5vw 0; font-size: 4.9vw; line-height: 2em; text-align: center; } }
.Service ul.Trouble h3 span { color: #5fbcb9; }
.Service ul.Trouble p { margin: 0 0 0 50px; font-size: 16px; line-height: 2.15em; text-align: left; }
@media (max-width: 959px) { .Service ul.Trouble p { width: 100%; margin: 0; font-size: 3.5vw; line-height: 2.1em; } }
.Service .Contents { margin: 120px auto 0 auto; padding: 70px 150px 120px 150px; border-radius: 40px; background: #fff; }
@media (max-width: 959px) { .Service .Contents { margin: 10vw auto 0 auto; padding: 10vw 8% 10vw 8%; border-radius: 3em; } }
.Service .Contents h2 { font-size: 29px; text-align: center; }
@media (max-width: 959px) { .Service .Contents h2 { font-size: 4.5vw; } }
.Service .Contents h2 img { display: block; width: 190px; margin: 0 auto 18px auto; }
@media (max-width: 959px) { .Service .Contents h2 img { width: 30vw; margin: 0 auto 2vw auto; } }
.Service .Contents h2 + p { margin: 20px 0 0 0; font-size: 16px; line-height: 2em; text-align: center; }
@media (max-width: 959px) { .Service .Contents h2 + p { margin: 5vw 0 0 0; font-size: 3.6vw; text-align: left; } }
.Service .Contents ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; align-items: flex-start; -webkit-justify-content: space-between; justify-content: space-between; margin: 75px 0 0 0; }
@media (max-width: 959px) { .Service .Contents ul { margin: 8vw 5% 0 5%; } }
.Service .Contents li { width: 28%; }
@media (max-width: 959px) { .Service .Contents li { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: center; align-items: center; width: 100%; } }
@media (max-width: 959px) { .Service .Contents li + li { margin-top: 8vw; } }
.Service .Contents li img { display: block; width: 130px; margin: 0 auto; }
@media (max-width: 959px) { .Service .Contents li img { width: 22%; margin: 0; } }
.Service .Contents li:nth-child(3) img { width: 135px; }
@media (max-width: 959px) { .Service .Contents li:nth-child(3) img { width: 22%; } }
.Service .Contents li p { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: center; justify-content: center; min-height: 4em; margin: 2em 0 0 0; font-size: 19px; font-weight: 500; line-height: 1.8em; text-align: center; }
@media (max-width: 959px) { .Service .Contents li p { flex: 1; display: block; min-height: auto; margin: 0 0 0 3em; font-size: 4vw; text-align: left; } }
.Service .Contents a:link, .Service .Contents a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 220px; padding: 1em 0; margin: 50px auto 0 auto; font-size: 20px; font-weight: 500; background: url(../img/dotline01.svg) no-repeat left bottom/100% auto; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .Service .Contents a:link, .Service .Contents a:visited { width: 60%; font-size: 4vw; padding-left: 1em; margin: 1em auto 0 auto; } }
.Service .Contents a:link:before, .Service .Contents a:visited:before { content: ""; display: block; width: 2em; height: 2em; margin-right: 1.5em; background: url(../img/Btn01.svg) no-repeat center center/100% auto; }
@media (max-width: 959px) { .Service .Contents a:link:before, .Service .Contents a:visited:before { width: 1.5em; height: 1.5em; margin-right: 1em; } }
.Service .Contents a:hover { color: #5fbcb9; }

.Product { padding: 150px 0 0 0; }
@media (max-width: 959px) { .Product { padding: 10vw 0 0 0; } }
.Product h2 { font-size: 28px; font-weight: 500; text-align: center; }
@media (max-width: 959px) { .Product h2 { font-size: 4.5vw; } }
.Product h2 img { display: block; width: 220px; margin: 0 auto 18px auto; }
@media (max-width: 959px) { .Product h2 img { width: 30vw; margin: 0 auto 2vw auto; } }
.Product h2 + p { margin: 50px 0 0 0; font-size: 16px; line-height: 2em; text-align: center; }
@media (max-width: 959px) { .Product h2 + p { margin: 5vw 5% 0 5%; font-size: 3.6vw; text-align: left; } }
.Product .Image { margin: 80px 0 0 0; }
@media (max-width: 959px) { .Product .Image { margin: 10vw 0 0 0; } }
.Product .Image img:nth-child(1) { width: 72.5%; }
@media (max-width: 959px) { .Product .Image img:nth-child(1) { width: 75.5%; } }
.Product .Image img:nth-child(2) { position: relative; z-index: 10; display: block; width: 44%; margin: -19.5em 0 0 auto; }
@media (max-width: 959px) { .Product .Image img:nth-child(2) { width: 48%; margin: -20vw 0 0 auto; } }
.Product a:link, .Product a:visited { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; width: 220px; padding: 1em 0; margin: 90px auto 0 auto; font-size: 20px; font-weight: 500; background: url(../img/dotline02.svg) no-repeat left bottom/100% auto; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .Product a:link, .Product a:visited { width: 50%; font-size: 4vw; padding-left: 1em; margin: 1.6em auto 0 auto; background: url(../img/dotline01.svg) no-repeat left bottom/100% auto; } }
.Product a:link:before, .Product a:visited:before { content: ""; display: block; width: 2em; height: 2em; margin-right: 1.5em; background: url(../img/Btn01.svg) no-repeat center center/100% auto; }
@media (max-width: 959px) { .Product a:link:before, .Product a:visited:before { width: 1.5em; height: 1.5em; margin-right: 1em; } }
.Product a:hover { color: #5fbcb9; }
