@charset "UTF-8";

.kv {width: 100%;height: auto;position: relative;}
.kv img {width: 100%;height: auto;vertical-align: bottom;}
.kv_title_block {position: absolute;left: 5vw;bottom: 8vw;text-align: left;}
.kv_title_block p.free{font-size: 18px;line-height: 1;font-weight: 700; background: var(--red-color);color: #fff;display: inline-block;padding: 10px 20px;margin: 0 0 30px;}
.kv_title_block h2.kv_title {font-size: 28px;line-height: 1.4;font-weight: 700;font-style: italic;margin: 0 0 20px;}
.kv_title_block h2.kv_title span.big {font-size: 1.2em;}
.kv_title_block h2.kv_title span.big1 {font-size: 1.6em;}
.kv_title_block h2.kv_title span.big2 {font-size: 1.6em;color: var(--blue-color);}
.kv_title_block p.kv_text {font-size: 18px;line-height: 1.6;font-weight: 700;font-style: italic;}
.kv_title_block h2.kv_title,
.kv_title_block p.kv_text{text-shadow: 2px 2px 2px rgba(255,255,255,1);}
@media (max-width: 1200px) {
.kv_title_block p.free{font-size: 1.5vw;padding: 0.83vw 1.66vw;margin: 0 0 2.5vw;}
.kv_title_block h2.kv_title {font-size:2.33vw;margin: 0 0 1.66vw;}
.kv_title_block p.kv_text {font-size: 1.5vw;}
}
@media screen and (max-width: 767px) {
.kv_title_block p.free{font-size: 2.4vw;padding: 0.78vw 1.56vw;margin: 0 0 2.34vw;}
.kv_title_block h2.kv_title {font-size: 3vw;margin: 0 0 2.34vw;}
.kv_title_block p.kv_text {font-size: 2.4vw;}
}


.kv_title_block .free{opacity:0;animation: slideInRight 2s ease forwards;animation-delay:.5s;}
.kv_title_block .kv_title{opacity:0;animation: slideInRight 2s ease forwards;animation-delay:.8s;}
.kv_title_block .kv_text{opacity:0;animation: slideInRight 2s ease forwards;animation-delay:1.1s;}
@keyframes slideInRight{
from{opacity:0;transform:translateX(80px);}
to{opacity:1;transform:translateX(0);}
}

.contents_title {text-align: center;margin: 0 0 70px;}
.contents_title p.contents_title_en {color: var(--blue-color);font-size:14px;line-height: 1.6;font-weight: 700;letter-spacing: .1em;}
.contents_title h2.contents_sub_title{font-size: 32px;line-height: 1.6;font-weight: 700;font-style: italic;}
.contents_title p.contents_title_text {font-size:16px;line-height: 1.6;margin: 40px 0 0;}
.contents_title p.call_text{font-size:16px;line-height: 1.6;font-weight: 700;margin: 70px 0 20px;position: relative;display: inline-block;padding: 0 26px;}
.contents_title a {text-decoration: none;}
.contents_title p.call_text:before {content: '';position: absolute;top: 50%;display: inline-block;width: 24px;height: 2px;background-color: black;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.contents_title p.call_text:after {content: '';position: absolute;top: 50%;display: inline-block;width: 24px;height: 2px;background-color: black;-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
.contents_title p.call_text:before {left:0;}
.contents_title p.call_text:after {right: 0;}
.contents_title p.call {background: var(--main-color);color: #fff;width: 560px;margin: auto;border-radius: 50vh;transition:opacity .3s ease;}
.contents_title p.call:hover{opacity:.7;}
.contents_title p.call span {font-family: "Roboto", sans-serif;font-size: 50px;font-weight: 700; position: relative;line-height: 86px;margin: 0 0 0 54px;}
.contents_title p.call span:before {content: '';display: inline-block;width: 44px;height: 44px;background-image: url("../images/call.png") ;background-size: contain;vertical-align: middle;position: absolute;left: -54px;top: 50%;transform: translateY(-50%);-webkit- transform: translateY(-50%);}
@media (max-width: 1200px) {
.contents_title {margin: 0 0 5.83vw;}
.contents_title p.contents_title_en {font-size:1.16vw;}
.contents_title h2.contents_sub_title{font-size: 2.66vw;}
.contents_title p.contents_title_text {font-size:1.33vw;margin: 3.33vw 0 0;}
.contents_title p.call_text{font-size:1.33vw;margin: 5.83vw 0 1.66vw;padding: 0 2.16vw;}
.contents_title p.call_text:before {width: 2vw;height: 0.16vw;}
.contents_title p.call_text:after {width: 2vw;height: 0.16vw;}
.contents_title p.call {width: 46.66vw;}
.contents_title p.call span {font-size: 4.16vw;line-height:7.16vw;margin: 0 0 0 4.5vw;}
.contents_title p.call span:before {width: 3.66vw;height: 3.66vw;left: -4.5vw;}
}
@media screen and (max-width: 767px) {
.contents_title {margin: 0 0 5vw;}
.contents_title p.contents_title_en {font-size:3.4vw;}
.contents_title h2.contents_sub_title{font-size: 5vw;}
.contents_title p.call_text{font-size:2.4vw;margin: 5vw 0 1.66vw;padding: 0 2.5vw;}
.contents_title p.call_text:before {width: 2.6vw;height: 0.16vw;left: -5px;}
.contents_title p.call_text:after {width: 2.6vw;height: 0.16vw;right: -5px;}
.contents_title p.contents_title_text {font-size:3vw;text-align: left;}
.contents_title p.call {width: 70vw;}
.contents_title p.call span {font-size: 5vw;line-height:10vw;margin: 0 0 0 5vw;}
.contents_title p.call span:before {width: 5vw;height: 5vw;left: -8vw;top: 2.5vw;}
}

.about{background:var(--blue-color);text-align:center;color:#fff;position:relative;z-index:1;margin: 0;padding: 0;}
.google_banner_back {  position: relative;transform: translateY(-50%);}
.google_banner {width: 1000px; margin:0 auto; background: var(--main-color); border-radius: 50vw;overflow: hidden;}
.google_banner img {width: 100%;height: auto;vertical-align: bottom;}
.google_banner a {transition: opacity 0.3s ease;}
.google_banner a:hover {opacity: 0.7;}
ul.about_list_wrap {width: 1120px;display: grid;grid-template-columns: repeat(3, 1fr);gap: 30px;padding: 0 0 40px;margin: auto;list-style: none;}
ul.about_list_wrap li.about_list {text-align: left;}
ul.about_list_wrap li.about_list .about_pic {border-radius: 20px;overflow: hidden;}
ul.about_list_wrap li.about_list .about_pic img {width: 100%;height: auto;display: block;}
ul.about_list_wrap li.about_list h2.about_title {padding: 30px 30px ;font-size: 22px;line-height: 1.6 ;font-weight: 700;text-align: left;}
ul.about_list_wrap li.about_list p.about_text {padding: 0 30px;font-size: 14px;line-height: 2;text-align: left;}
@media (max-width: 1200px) {
.google_banner {width: 83.33vw;}
ul.about_list_wrap {width: 93.33vw;gap: 2.5vw;padding: 0 0 3.33vw;}
ul.about_list_wrap li.about_list .about_pic {border-radius: 1.66vw;}
ul.about_list_wrap li.about_list h2.about_title {padding: 2.5vw 2.5vw;font-size: 1.83vw;}
ul.about_list_wrap li.about_list p.about_text {padding: 0 2.5vw;font-size: 1.16vw;}
}
@media (max-width: 768px) {
ul.about_list_wrap {width: 80vw;grid-template-columns: 1fr;padding: 2.5vw 0 5vw;}
ul.about_list_wrap li.about_list {margin: 0 0 5vw;}
ul.about_list_wrap li.about_list .about_pic {border-radius: 3vw;}
ul.about_list_wrap li.about_list h2.about_title {padding: 5.5vw 5vw 4vw;font-size: 3.4vw;}
ul.about_list_wrap li.about_list p.about_text {padding:0 5vw;font-size: 3vw;}
}

.services-outer{position:relative;margin-bottom: 8vw;}
.services{padding:0;position:relative;z-index:2;}
.services_block {width: 1000px;margin: auto; position: relative;}
.services_illust {width: 292px;position: absolute;right: 0;top: -80px;}
.services_illust img {width: 100%;height: auto;}
ul.services_list {display: flex;  flex-wrap: wrap;gap: 10px;margin: -44px 0 0;position: relative; z-index: 1;}
ul.services_list li {border: 2px solid var(--main-color);border-radius: 10px;overflow: hidden;flex: 0 0 calc(33.333% - 7px);box-sizing: border-box;display:flex;flex-wrap:wrap;align-items: center;gap: 10px;background: #fff;}
ul.services_list li:nth-child(3n) {  margin-right: 0;}
ul.services_list li .services_list_pic { width: 40%;}
ul.services_list li .services_list_pic img { width: 100%;  height: auto;  display: block;}
ul.services_list li p.services_list_text {font-size: 18px;line-height: 1.6;font-weight: 700; width: 50%;text-align: left;}
@media (max-width: 1200px) {
.services_block {width: 83.33vw;}
.services_illust {width: 24.33vw;top: -6.66vw;}
ul.services_list {gap: 0.83vw;margin: -3.66vw 0 0;}
ul.services_list li {border: 0.16vw solid var(--main-color);border-radius: 0.83vw;flex: 0 0 calc(33.333% - 0.58vw);gap:0.83vw;}
ul.services_list li p.services_list_text {font-size: 1.5vw;}
}
@media screen and (max-width: 768px) {
.services{padding:5vw 0;}
.services_block {width: 90vw;}
.services_block .contents_title p.contents_title_en {font-size:3.4vw;display: flex;}
.services_block .contents_title h2.contents_sub_title{font-size: 5vw;display: flex;}
.services_illust {width: 45vw;top: -1vw;right: 3.5vw;}
ul.services_list {display: flex;  flex-wrap: wrap;gap: 10px;margin: 0;position: relative; z-index: 1;}
ul.services_list li {border: 2px solid var(--main-color);border-radius: 10px;overflow: hidden;flex: 0 0 calc(33.333% - 10px);gap: 0;}
ul.services_list li .services_list_pic { width: 100%;}
ul.services_list li p.services_list_text {font-size: 3vw;line-height: 1.6;width: 100%;padding: 2.5vw;}
}



.arch-top{line-height:0;vertical-align: top;margin: 0;padding: 0;transform: translateY(-2px);}
.arch-bottom{position:absolute;bottom:-8vw;left:0;width:100%;line-height:0;}
.arch-top svg,
.arch-bottom svg{display:block;width:100%;height:6vw;top: -0.5vw;}
.arch-top path{fill:#5ab4d2;}
.arch-bottom path{fill:#e6f5fa;}
.services_list li:nth-child(1){transition-delay:.05s;}
.services_list li:nth-child(2){transition-delay:.1s;}
.services_list li:nth-child(3){transition-delay:.15s;}
.services_list li:nth-child(4){transition-delay:.2s;}
.services_list li:nth-child(5){transition-delay:.25s;}
.services_list li:nth-child(6){transition-delay:.3s;}
.services_list li:nth-child(7){transition-delay:.35s;}
.services_list li:nth-child(8){transition-delay:.4s;}
.services_list li:nth-child(9){transition-delay:.45s;}
.services_list li:nth-child(10){transition-delay:.5s;}
.services_list li:nth-child(11){transition-delay:.55s;}
.services_list li:nth-child(12){transition-delay:.6s;}
.services_list li:nth-child(13){transition-delay:.65s;}
.services_list li:nth-child(14){transition-delay:.7s;}
.services_list li:nth-child(15){transition-delay:.75s;}
.services_list li:nth-child(16){transition-delay:.8s;}
.services_list li:nth-child(17){transition-delay:.85s;}
.services_list li:nth-child(18){transition-delay:.9s;}
.services_list li:nth-child(19){transition-delay:.95s;}
.services_list li:nth-child(20){transition-delay:1s;}

.work_wrap{background:#e6f5fa;text-align:center;position:relative;z-index:1;padding: 100px 0;}
.work_block {width: 1120px;margin: auto;}
ul.work {display: grid;grid-template-columns: repeat(3, 1fr);gap: 50px;padding: 0;margin: auto;list-style: none;}
ul.work li.work_list {text-align: left;}

ul.work li.work_list:nth-child(1){transition-delay:.05s!important;}
ul.work li.work_list:nth-child(2){transition-delay:.1s!important;}
ul.work li.work_list:nth-child(3){transition-delay:.15s!important;}
ul.work li.work_list:nth-child(4){transition-delay:.2s!important;}
ul.work li.work_list:nth-child(5){transition-delay:.25s!important;}
ul.work li.work_list:nth-child(6){transition-delay:.3s!important;}
ul.work li.work_list:nth-child(7){transition-delay:.35s!important;}
ul.work li.work_list:nth-child(8){transition-delay:.4s!important;}
ul.work li.work_list:nth-child(9){transition-delay:.45s!important;}
ul.work li.work_list:nth-child(10){transition-delay:.5s!important;}
ul.work li.work_list:nth-child(11){transition-delay:.55s!important;}
ul.work li.work_list:nth-child(12){transition-delay:.6s!important;}
ul.work li.work_list:nth-child(13){transition-delay:.65s!important;}
ul.work li.work_list:nth-child(14){transition-delay:.7s!important;}
ul.work li.work_list:nth-child(15){transition-delay:.75s!important;}
ul.work li.work_list:nth-child(16){transition-delay:.8s!important;}
ul.work li.work_list:nth-child(17){transition-delay:.85s!important;}
ul.work li.work_list:nth-child(18){transition-delay:.9s!important;}
ul.work li.work_list:nth-child(19){transition-delay:.95s!important;}
ul.work li.work_list:nth-child(20){transition-delay:1s!important;}
ul.work li.work_list:nth-child(21){transition-delay:1.05s!important;}

ul.work li.work_list:nth-child(22){transition-delay:1.1s!important;}
ul.work li.work_list:nth-child(23){transition-delay:1.15s!important;}
ul.work li.work_list:nth-child(24){transition-delay:1.2s!important;}
ul.work li.work_list:nth-child(25){transition-delay:1.25s!important;}
ul.work li.work_list:nth-child(26){transition-delay:1.3s!important;}
ul.work li.work_list:nth-child(27){transition-delay:1.35s!important;}
ul.work li.work_list:nth-child(28){transition-delay:1.4s!important;}
ul.work li.work_list:nth-child(29){transition-delay:1.45s!important;}
ul.work li.work_list:nth-child(30){transition-delay:1.5s!important;}
ul.work li.work_list:nth-child(31){transition-delay:1.55s!important;}
ul.work li.work_list:nth-child(32){transition-delay:1.6s!important;}
ul.work li.work_list:nth-child(33){transition-delay:1.65s!important;}
ul.work li.work_list:nth-child(34){transition-delay:1.7s!important;}
ul.work li.work_list:nth-child(35){transition-delay:1.75s!important;}
ul.work li.work_list:nth-child(36){transition-delay:1.8s!important;}





ul.work li.work_list .work_pic {border-radius: 20px;overflow: hidden;margin: 0 0 20px;}
ul.work li.work_list .work_pic img {width: 100%;height: auto;display: block;}
ul.work li.work_list h2.work_title {padding: 20px 0 10px;font-size: 22px;font-weight: 700;text-align: left;margin: 0 0 20px;}
ul.work li.work_list p.work_text {padding: 0 0 20px;font-size: 14px;line-height: 2;text-align: left;margin: 0;}
@media (max-width: 1200px) {
.work_wrap{padding: 8.33vw 0;}
.work_block {width: 93.33vw;}
ul.work {gap: 4.16vw;}
ul.work li.work_list .work_pic {border-radius: 1.66vw;margin: 0 0 1.66vw;}
ul.work li.work_list h2.work_title {padding: 1.66vw 0 0.83vw;font-size: 1.83vw;margin: 0 0 1.66vw;}
ul.work li.work_list p.work_text {padding: 0 0 1.66vw;font-size: 1.16vw;}
}
@media (max-width: 768px) {
.work_wrap{padding:5vw 0 10vw;}
.work_block {width: 90vw;}
ul.work {grid-template-columns: 1fr;gap: 5vw;}
ul.work li.work_list .work_pic {border-radius: 3vw;margin: 0;}
ul.work li.work_list h2.work_title {padding: 5vw 0 2.5vw;font-size: 3.4vw;margin:0;}
ul.work li.work_list p.work_text {padding: 0;font-size: 3vw;}
}

.company_back {background: var(--blue-color);padding: 100px 0; }
.company_back .contents_title_en,
.company_back .contents_sub_title{color: #fff!important;}
.company {width: 1060px;margin: auto;position: relative;}
.company .company_pic {width: 390px; position: absolute;left: 40px;bottom: 0;}
.company .company_pic img {width: 100%;height: auto;}
.company .company_outline {width: 50%;margin: 0 0 0 50%;padding: 0 0 30px;}
.company .company_outline table {width: 100%; font-size: 14px;line-height: 1.6;color: #fff; border-top: 1px solid rgba(255, 255, 255, 0.25);text-align: left;}
.company .company_outline table th {width: 20%;padding: 15px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.25);}
.company .company_outline table td {width: 80%;padding: 15px 0;border-bottom: 1px solid rgba(255, 255, 255, 0.25);}
.company_map {width: 1060px;margin: auto;aspect-ratio: 3 / 1;border-radius: 40px;overflow: hidden;}
.company_map iframe {width: 100%;height: 100%;border: 0;}
@media (max-width: 1200px) {
.company_back {padding: 8.33vw 0; }
.company {width: 88.33vw;}
.company .company_pic {width: 32.5vw;left: 3.33vw;}
.company .company_outline {padding: 0 0 2.5vw;}
.company .company_outline table {font-size: 1.16vw;}
.company .company_outline table th {padding: 1.25vw 0; }
.company .company_outline table td {padding: 1.25vw 0;}
.company_map {width: 88.33vw;border-radius: 3.33vw;}

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

.company {width: 80vw;}
.company .company_pic {width: 60vw;margin: auto; position: inherit;left: inherit;bottom: inherit;}
.company .company_outline {width: 100%;margin: 0 0 5vw;padding: 0;}
.company .company_outline table {font-size: 3vw;}
.company .company_outline table th {padding: 1.25vw 0; }
.company .company_outline table td {padding: 1.25vw 0;}
.company_map {width: 90vw;aspect-ratio: 4 / 3;border-radius: 3vw;}
}
