/* CSS Document */
/*スライダー*/
section.slider_wrap{
  position: relative;
  z-index: 1;
}
[wc-view-type*="sp"] .comboslider{
  position: relative;
  z-index: 1;
  width: 100vw !important;
  height: 80vh !important;
}
[wc-view-type*="sp"] .cs_wrap {
  max-width: 100vw !important;
}
[wc-view-type*="sp"] .cs_inner {
  width: 100vw;
}
[wc-view-type*="tb"] .cs_wrap, .cs_wrap:not(.wcpreparation) .cs_inner,
[wc-view-type*="pc"] .cs_wrap, .cs_wrap:not(.wcpreparation) .cs_inner{
  height: 80vh;
}
[wc-view-type*="pc"] .cs_wrap, .cs_wrap:not(.wcpreparation) .cs_inner{
  margin-left: 0;
  margin-right: 0;
  width: 100vw;
}
[wc-view-type*="pc"] .cs_wrap{
  max-width: 100vw;
}
[wc-view-type*="pc"] .comboslider-fade-zoom .comboslider{
  width: 100vw;
}
section.slider_wrap > h2{
  position: absolute;
  z-index: 10;
}
section.slider_wrap > h2::after{
  content: "For the smiles of our customers";
  position: absolute;
  white-space: nowrap;
  bottom: -2rem;
  right: 0;
  font-size: 6vw;
  z-index: 11;
  color: rgba(87,170,178,0.5);
  line-height: 1em;
}
[wc-view-type*="pc"] section.slider_wrap > h2::after{
  bottom: -2.5rem;
  font-size: 3rem;  
  z-index: 11;
  color: rgba(87,170,178,0.5);
  line-height: 1em;
}
[wc-view-type*="sp"] section.slider_wrap > h2{
  position: absolute;
  z-index: 10;
  bottom: 3rem;
  font-size: 7vw;
  right: 1rem;
  text-align: right;
}
[wc-view-type*="tb"] section.slider_wrap > h2{
  z-index: 10;
  font-size: 5vw;
  left: 40%;
  white-space: nowrap;
  bottom: 6vw;
}
[wc-view-type*="pc"] section.slider_wrap > h2{
  bottom: 3rem;
  font-size: 3.5rem;
  left: 50%;
}
section.slider_wrap > p{
  position: absolute;
  z-index: 3;
  opacity: 0.5;
  color: #fff;
}
[wc-view-type*="sp"] section.slider_wrap > p{
  font-size: 2rem;
  left: 1.5rem;
  top: 10vw;
}
[wc-view-type*="tb"] section.slider_wrap > p{
  font-size: 3.5rem;
  left: 5vw;
  top: 5vw;
}
[wc-view-type*="pc"] section.slider_wrap > p{
  font-size: 4rem;
  left: 10vw;
  top: 3vw;
}
[wc-view-type*="sp"] section.slider_wrap::before{
  content: "";
  position: absolute;
  right: 0;
  height: 190px;
  bottom: 0;
  width: 100vw;
  background-image:url("../img/top/slider/sp_slider_deco03.webp");
  z-index: 2;
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
}
[wc-view-type*="sp"] body.safari section.slider_wrap::before{
  background-image:url("../img/top/slider/sp_slider_deco03.png");
}
[wc-view-type*="tb"] section.slider_wrap::before{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 300px;
  background-image:url("../img/top/slider/tb_slider_deco03.webp");
  z-index: 2;
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
}
[wc-view-type*="tb"] body.safari section.slider_wrap::before{
  background-image: url("../img/top/slider/tb_slider_deco03.png");
}
[wc-view-type*="pc"] section.slider_wrap::before{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 289px;
  background-image:url("../img/top/slider/pc_sloder_deco02.webp");
  z-index: 2;
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: contain;
}
[wc-view-type*="pc"] body.safari section.slider_wrap::before{
  background-image: url("../img/top/slider/pc_sloder_deco02.png");
}
[wc-view-type*="tb"] #topslider .cs_item {
  max-width: 100vw;
  width: 100vw !important;
}
[wc-view-type*="sp"] #topslider .cs_item,
[wc-view-type*="pc"] #topslider .cs_item {
  max-width: 100vw;
  max-height: 90vh;
  width: 100vw !important;
}
[wc-view-type*="sp"] #topslider .cs_item {
  height: 80vh !important;
  max-height: 80vh;
}
[wc-view-type*="sp"] .comboslider .cs_item img{
  height: 80vh;
  width: 100vw;
}
[wc-view-type*="tb"] .comboslider .cs_item img,
[wc-view-type*="pc"] .comboslider .cs_item img{
  width: 100vw;
  height: 85vh;
}
/*メイン*/
.wccolumnwrap{
  background-color: #fff;
}
/*ボタン*/
div.btn{
  display: table;
}
div.btn a{
  display: block;
  background-color: #57aab2;
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  position: relative;
  z-index: 1;
  line-height: 3rem;
  padding: 0 2.5rem 0 1rem;
  text-decoration: none;
}
div.btn a::after{
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  right: 1rem;
}
/*お知らせ*/
section.news{
  width: 100vw;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
[wc-view-type*="sp"] section.news{
  padding: calc(var(--headerHeight) * 2) 0.5rem var(--headerHeight) 0.5rem;
}
[wc-view-type*="tb"] section.news{
  padding: calc(var(--headerHeight) * 2) 2rem var(--headerHeight) 2rem;
}
[wc-view-type*="pc"] section.news{
  padding: calc(var(--headerHeight) * 2) calc((100vw - 1100px) / 2) var(--headerHeight) calc((100vw - 1100px) / 2);
}
section.news > h2{
  font-size: 1.5rem;
  color: #000;
  position: relative;
  z-index: 1;
  text-align: center;
}
[wc-view-type*="sp"] section.news > h2{
  border-bottom: 1px solid #57aab2;
  width: calc(100% - 1rem);
  margin: 0 auto 1rem auto;
}
[wc-view-type*="tb"] section.news > h2{
  border-bottom: 1px solid #57aab2;
  margin-bottom: 1rem;
}
[wc-view-type*="pc"] section.news > h2{
  width: 1100px;
  margin: 0 auto 1rem auto;
  border-bottom: 1px solid #57aab2;
}
section.news > h2::before{
  content: "News";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  left: 50%;
  transform: translateX(-50%);
  top: -3rem;
  background-size: cover;
  line-height: 1em;
  font-size: 3rem;
  color: #57aab2;
}
[wc-view-type*="sp"] section.news > h2::before{
  font-size: 2.5rem;
  top: -2.5rem;
}
[wc-view-type*="tb"] section.news > h2::before{
  font-size: 3rem;
  top: -3rem;
}
section.news > p{
  text-align: center;
  margin-bottom: 1rem;
  line-height: 2rem;
}
section.news > div.news_block{
  width: 100%;
  display: flex;
}
[wc-view-type*="sp"] section.news > div.news_block{
  flex-wrap: wrap;
}
section.news > div.news_block > article{
  position: relative;
  z-index: 1;
  border-radius: 1rem;
  background-color: #57aab2;
  padding: 5px;
  box-sizing: border-box;
}
[wc-view-type*="sp"] section.news > div.news_block > article{
  width: calc((100% / 2) - 1rem);
  margin: 0 0.5rem;
  margin-bottom: 1rem;
}
[wc-view-type*="sp"] section.news > div.news_block > article:nth-of-tyoe(3),
[wc-view-type*="sp"] section.news > div.news_block > article:nth-of-tyoe(4){
  margin-bottom: 0;
}
[wc-view-type*="tb"] section.news > div.news_block > article,
[wc-view-type*="pc"] section.news > div.news_block > article{
  width: calc((100% / 4) - 1rem);
  margin: 0 0.5rem;
}
section.news > div.news_block > article a{
  padding: 0.5rem;
  padding-bottom: 2rem;
  box-sizing: border-box;
  display: block;
  text-decoration: none;
  position: relative;
  z-index: 5;
}
[wc-view-type*="sp"] section.news > div.news_block > article a{
  padding-top: calc(30vw + 1rem);
}
[wc-view-type*="tb"] section.news > div.news_block > article a{
  padding-top: calc(118px + 1rem);
}
[wc-view-type*="pc"] section.news > div.news_block > article a{
  padding-top: calc(170px + 1rem);
}
section.news > div.news_block > article a > h2{
  font-size: 1.2rem;
  color: #fff;
  line-height: 1em;
}
section.news > div.news_block > article div.sub{
  position: absolute;
  bottom: 1rem;
  left: 0.5rem;
  right: 0.5rem;
  z-index: 1;
  line-height: 1em;
}
section.news > div.news_block > article div.sub::after{
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  right: 0rem;
  bottom: 0.25rem;
}
section.news > div.news_block > article div.sub time{
  color: #999;
  font-size: 0.8rem;
}
section.news > div.news_block > article figure{
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
}
section.news > div.news_block > article figure img{
  width: 100%;
  object-fit: cover;
  height: 100%;
  border-radius: 1rem;
}
[wc-view-type*="sp"] section.news > div.news_block > article figure img{
  width: 100%;
  object-fit: cover;
  height: 30vw;
}
[wc-view-type*="tb"] section.news > div.news_block > article figure img{
  width: 100%;
  object-fit: cover;
  height: 118px;
}
[wc-view-type*="pc"] section.news > div.news_block > article figure img{
  width: 100%;
  object-fit: cover;
  height: 170px;
}
section.news > div.news_block > article h2{
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  color: #fff;
  font-weight: 700;
}
section.news > div.news_block > article time{
  margin-top: 0.5rem;
  color: #fff !important;
}
section.news > div.btn{
  margin: 0 auto;
  margin-top: 1rem;
}
/*サービス*/
section.service{
  position: relative;
  z-index: 1;
  padding: calc(var(--headerHeight) * 2) 0 calc(var(--headerHeight) * 2) 0;
  background-color: rgba(87,170,178,0.1);
}
[wc-view-type*="sp"] section.service{
  width: 100vw;
}
section.service > h2{
  color: #000;
  text-align: center;
  position: relative;
  z-index: 1;
  font-size: 1.5rem;
  border-bottom: 1px solid #57aab2;
}
[wc-view-type*="sp"] section.service > h2{
  width: calc(100% - 2rem);
  margin: 0 auto;
}
[wc-view-type*="tb"] section.service > h2{
  width: calc(100% - 4rem);
  margin: 0 auto;
}
[wc-view-type*="pc"] section.service > h2{
  width: 1100px;
  margin: 0 auto 1rem auto;
  border-bottom: 1px solid #57aab2;
}
section.service > h2::before{
  content: "Service";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  left: 50%;
  transform: translateX(-50%);
  top: -3rem;
  background-size: cover;
  line-height: 1em;
  font-size: 3rem;
  color: #57aab2;
}
[wc-view-type*="sp"] section.service > h2::before{
  font-size: 2.5rem;
  top: -2.5rem;
}
[wc-view-type*="tb"] section.service > h2::before{
  font-size: 3rem;
  top: -3rem;
}
section.service > p{
  text-align: center;
  margin-top: 2rem;
  line-height: 2rem;
}
[wc-view-type*="sp"] section.service > p{
  margin-top: 1rem;
  width: 100vw;
  padding: 0 2rem;
  box-sizing: border-box;
  text-align: left;
}
[wc-view-type*="sp"] section.service > p br{
  display: none;
}
section.service div.service_wrap{
  padding-bottom: 0;
}
[wc-view-type*="sp"] section.service div.service_wrap{
  width: 100vw;
  padding: calc(var(--headerHeight) * 1.5) 0;
}
[wc-view-type*="sp"] section.service div.service_wrap:nth-of-type(1){
  padding-top: 1rem;
}
[wc-view-type*="tb"] section.service div.service_wrap{
  width: 100vw;
  padding: calc(var(--headerHeight) * 1.5) 0;
}
[wc-view-type*="tb"] section.service div.service_wrap:nth-of-type(1){
  padding-top: 30px;
}
[wc-view-type*="pc"] section.service div.service_wrap{
  width: 100vw;
  padding: calc(var(--headerHeight) * 1.5) 0;
}
[wc-view-type*="pc"] section.service div.service_wrap:nth-of-type(1){
  padding-top: var(--headerHeight);
}
div.service_wrap{
}
div.service_wrap article{
  position: relative;
  z-index: 1;
  height: 400px;
}
div.service_wrap article::after{
  content: "";
  width: 100vw;
  height: 300px;
  position: absolute;
  bottom: -100px;
  z-index: -1;
  left: 0;
}
[wc-view-type*="tb"] div.service_wrap article::after{
  bottom: -150px;
}
div.service_wrap:nth-of-type(1) article::after{
  background-color: #44beff;
}
div.service_wrap:nth-of-type(2) article::after{
  background-color: #57aab2;
}
div.service_wrap:nth-of-type(3) article::after{
  background-color: #fffbd0;
}
div.service_wrap:nth-of-type(even) article{
}
div.service_wrap article div.text_block{
  width: calc((1100px / 2) + 5rem);
  box-sizing: border-box;
  padding: 2rem;
  z-index: 1;
  padding-top: 6rem;  
  padding-bottom: 5rem;
  background-color: #fff;
  border-radius: 1rem;
  position: absolute;
  bottom: -2rem;
  left: 0;
}
[wc-view-type*="sp"] div.service_wrap article div.text_block{
  box-sizing: border-box;
  padding: 1rem;
  z-index: 1;
  padding-top: 4rem;
  padding-bottom: 3.5rem;
  background-color: #fff;
  border-radius: 1rem;  
  position: absolute;
  bottom: -5rem;
  width: calc(100% - 2rem);
}
[wc-view-type*="tb"] div.service_wrap article div.text_block{
  width: 50%;
  box-sizing: border-box;
  padding: 1rem;
  z-index: 1;
  padding-top: 4.8rem;  
  padding-bottom: 5rem;
  background-color: #fff;
  border-radius: 1rem;
  position: absolute;
  bottom: -7rem;
  left: 2rem;
}
[wc-view-type*="pc"] div.service_wrap article div.text_block{
  width: calc((1100px / 2) + 5rem);
  box-sizing: border-box;
  padding: 2rem;
  z-index: 1;
  padding-top: 5rem;  
  padding-bottom: 5rem;
  background-color: #fff;
  border-radius: 1rem;
  position: absolute;
  bottom: -2rem;
  left: 0;
}
[wc-view-type*="sp"] div.service_wrap:nth-of-type(odd) article div.text_block{
  left: 2rem;
}
[wc-view-type*="sp"] div.service_wrap:nth-of-type(even) article div.text_block{
  right: 2rem;
  left:0;
}
[wc-view-type*="tb"] div.service_wrap:nth-of-type(odd) article div.text_block{
  left: 2rem;
}
[wc-view-type*="tb"] div.service_wrap:nth-of-type(even) article div.text_block{
  right: 2rem;
  left: inherit;
}
[wc-view-type*="pc"] div.service_wrap:nth-of-type(odd) article div.text_block{
  margin-left: calc((100vw - 1100px) / 2);
  float: left;
}
[wc-view-type*="pc"] div.service_wrap:nth-of-type(even) article div.text_block{
  margin-right: calc((100vw - 1100px) / 2);
  float: right;
  right: 0;
  left: inherit;
}
div.service_wrap article div.text_block > h2{
  font-size: 1.5rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
[wc-view-type*="sp"] div.service_wrap article div.text_block > h2{
  margin-bottom: 0;
}
[wc-view-type*="tb"] div.service_wrap article div.text_block > h2{
}
[wc-view-type*="pc"] div.service_wrap article div.text_block > h2{
}
div.service_wrap:nth-of-type(1) article div.text_block > h2{
  border-bottom: 1px solid #44beff;
}
div.service_wrap:nth-of-type(2) article div.text_block > h2{
  border-bottom: 1px solid #57aab2;
}
div.service_wrap:nth-of-type(3) article div.text_block > h2{
  border-bottom: 1px solid #fffbd0;
}
div.service_wrap article div.text_block > h2::before{
  content: "";
  font-size: 4rem;
  position: absolute;
  top: -3.5rem;
  opacity: 0.45;
  z-index: 2;
  line-height: 1em;
  white-space: nowrap;
}
[wc-view-type*="sp"] div.service_wrap article div.text_block > h2::before{
  content: "";
  font-size: 2rem;
  position: absolute;
  top: -2.5rem;
  opacity: 0.45;
  z-index: 2;
  line-height: 1em;
  white-space: nowrap;
}
[wc-view-type*="tb"] div.service_wrap article div.text_block > h2::before{
  content: "";
  font-size: 2.5rem;
  position: absolute;
  top: -3rem;
  opacity: 0.45;
  z-index: 2;
  line-height: 1em;
  white-space: nowrap;
}
[wc-view-type*="pc"] div.service_wrap article div.text_block > h2::before{
  content: "";
  font-size: 3rem;
  position: absolute;
  top: -3rem;
  opacity: 0.45;
  z-index: 2;
  line-height: 1em;
  white-space: nowrap;
}
div.service_wrap:nth-of-type(1) article div.text_block > h2::before{
  content: "Insurance";
  color: #44beff;
  left:0;
}
div.service_wrap:nth-of-type(2) article div.text_block > h2::before{
  content: "Repair and sales";
  color: #57aab2;
  left: 0;
}
div.service_wrap:nth-of-type(3) article div.text_block > h2::before{
  content: "Asset formation";
  color: #ffe900;
  left: 0;
}
div.service_wrap article div.text_block > p{
  padding: 1rem;
  width: 100%;
  box-sizing: border-box;
  line-height: 2rem;
  padding-top: 0;
}
[wc-view-type*="sp"] div.service_wrap article div.text_block > p{
  padding: 1rem 1rem 2.5rem 1rem;
}
div.service_wrap article div.text_block div.btn{
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}
[wc-view-type*="sp"] div.service_wrap article div.text_block div.btn{
  right: 1rem;
}
div.service_wrap:nth-of-type(even) article div.text_block div.btn{
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}
section.service div.service_wrap div.btn a{
  white-space: nowrap;
}
section.service div.service_wrap:nth-of-type(1) div.btn a{
  background-color: #44beff;
}
section.service div.service_wrap:nth-of-type(2) div.btn a{
  background-color: #57aab2;
}
section.service div.service_wrap:nth-of-type(3) div.btn a{
  background-color: #ffe900;
}
[wc-view-type*="sp"] div.service_wrap article figure{
  width: calc(100% - 2rem);
}
[wc-view-type*="tb"] div.service_wrap article figure{
  width: 65vw;
}
[wc-view-type*="pc"] div.service_wrap article figure{
  width: 50vw;
}
div.service_wrap:nth-of-type(odd) article figure{
  float: right;
}
div.service_wrap:nth-of-type(even) article figure{
  float: left;
}
div.service_wrap article figure img{
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 1.5rem 0 0 1.5rem;
}
[wc-view-type*="sp"] div.service_wrap article figure img{
  width: 100%;
  height: 75vw;
  object-fit: cover;
  border-radius: 1.5rem 0 0 1.5rem;
}
[wc-view-type*="tb"] div.service_wrap article figure img{
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 1.5rem 0 0 1.5rem;
}
[wc-view-type*="pc"] div.service_wrap article figure img{
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 1.5rem 0 0 1.5rem;
}
div.service_wrap:nth-of-type(even) article figure img{
  border-radius: 0 1.5rem 1.5rem 0;
}
/*会社概要*/
section.company{
  position: relative;
  z-index: 1;
  padding: calc(var(--headerHeight) * 2) 0 var(--headerHeight) 0;
  background-color: #fff;
  width: 100vw;
}
[wc-view-type*="tb"] section.company{
  padding: calc(var(--headerHeight) * 2) 2.5rem var(--headerHeight) 2.5rem;
  box-sizing: border-box;
}
section.company > h2{
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
[wc-view-type*="sp"] section.company > h2{
  border-bottom: 1px solid #57aab2;
  width: calc(100vw - 2rem);
  margin: 0 auto 1rem auto;
}
[wc-view-type*="tb"] section.company > h2{
  border-bottom: 1px solid #57aab2;
}
[wc-view-type*="pc"] section.company > h2{
  width: 1100px;
  margin: 0 auto 1rem auto;
  border-bottom: 1px solid #57aab2;
}
section.company > h2::before{
  content: "About us";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  left: 50%;
  transform: translateX(-50%);
  top: -3rem;
  background-size: cover;
  line-height: 1em;
  font-size: 3rem;
  color: #57aab2;
  white-space: nowrap;
}
[wc-view-type*="sp"] section.company > h2::before{
  font-size: 2.5rem;
  top: -2.5rem;
}
[wc-view-type*="tb"] section.company > h2::before{
  font-size: 3rem;
  top: -3rem;
}
[wc-view-type*="sp"] section.company div.company_text_box{
  width: 100vw;
}
[wc-view-type*="tb"] section.company div.company_text_box{
  width: 100%;
  display: flex;
  padding: 0 1rem;
  box-sizing: border-box;
}
[wc-view-type*="pc"] section.company div.company_text_box{
  width: 1100px;
  margin: 0 auto;
  display: flex;
  padding: 0 1rem;
  box-sizing: border-box;
}
[wc-view-type*="sp"] section.company div.company_text_box figure{
  width: 100%;
}
[wc-view-type*="tb"] section.company div.company_text_box figure,
[wc-view-type*="pc"] section.company div.company_text_box figure{
  width: 50%;
}
section.company div.company_text_box figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
[wc-view-type*="tb"] section.company div.company_text_box figure img{
  height: 230px;
}
[wc-view-type*="pc"] section.company div.company_text_box figure img{
  height: 300px;
}
[wc-view-type*="sp"] section.company div.company_text_box div.company_text{
  position: relative;
  z-index: 1;
  width: 100vw;
  padding: 1rem 2rem;
  box-sizing: border-box;
}
[wc-view-type*="tb"] section.company div.company_text_box div.company_text,
[wc-view-type*="pc"] section.company div.company_text_box div.company_text{
  width: 50%;
  padding-left: 1rem;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
section.company div.company_text_box div.company_text::before{
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 50%;
  transform: translate(-50%,0%);
  background-image: url("../img/logo/footer_logo.png");
  opacity: 0.2;
  width: 35vw;
  height: 35vw;
  z-index: -1;
  object-fit: cover;
  background-position: center;  
  background-repeat: no-repeat;
  background-size: contain;
}
[wc-view-type*="sp"] section.company div.company_text_box div.company_text::before{
}
[wc-view-type*="tb"] section.company div.company_text_box div.company_text::before{
  width: 150px;
  height: 150px;
}
[wc-view-type*="pc"] section.company div.company_text_box div.company_text::before{
  width: 200px;
  height: 200px;
}
section.company div.company_text_box div.company_text > p{
  line-height: 2rem;
  margin-bottom: 1rem;
}
[wc-view-type*="sp"] section.company div.company_text_box div.company_text > p br{
  display: none;
}
[wc-view-type*="pc"] section.company div.company_text_box div.company_text > p,
[wc-view-type*="tb"] section.company div.company_text_box div.company_text > p{
  text-align: center;
  padding-bottom: 50px;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.company div.company_text_box div.company_text div.btn{
  margin: 0 auto;
}
[wc-view-type*="tb"] section.company div.company_text_box div.company_text div.btn,
[wc-view-type*="pc"] section.company div.company_text_box div.company_text div.btn{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
/*お問い合わせ*/
section.contact{
  padding: calc(var(--headerHeight) * 2) 0;
  width: 100%;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  background-color: rgba(87,170,178,0.1);
}
[wc-view-type*="sp"] section.contact{
  padding: var(--headerHeight) 1rem;
  width: 100vw;
}
[wc-view-type*="tb"] section.contact{
  height: 80vw;
  padding: var(--headerHeight) 2rem;
  width: 100vw;
}
[wc-view-type*="pc"] section.contact{
  height: 650px;
  box-sizing: border-box;
}
section.contact::after{
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}
[wc-view-type*="sp"] section.contact::after{
  content: "";
  background-image:url("../img/top/sp_contact_bottom02.webp");
  width: 100%;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
}
[wc-view-type*="tb"] section.contact::after{
  content: "";
  background-image: url("../img/top/tb_top_contact_bottom02.webp");
  width: 100%;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
}
[wc-view-type*="pc"] section.contact::after{
  content: "";
  background-image: url("../img/top/pc_top_contact_bottom02.webp");
  width: 100%;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
}
[wc-view-type*="sp"] body.safari section.contact::after{
  background-image: url("../img/top/sp_contact_bottom02.png");
}
[wc-view-type*="tb"] body.safari section.contact::after{
  background-image: url("../img/top/tb_top_contact_bottom02.png");
}
[wc-view-type*="pc"] body.safari section.contact::after{
  background-image: url("../img/top/pc_top_contact_bottom02.png");
}
section.contact > h2{
  top: var(--headerHeight);
  font-size: 1.5rem;
  color: #000;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 1rem;
  border-bottom: 1px solid #57aab2;
}
[wc-view-type*="pc"] section.contact > h2{
  top: initial;
  width: 1100px;
  margin: 0 auto 1rem auto;
}
section.contact > h2::before{
  content: "Contact us";
  position: absolute;
  top: -3rem;
  font-size: 3rem;
  color: rgba(87,170,178,1);
  left: 50%;
  transform: translateX(-50%);
  line-height: 1em;
  white-space: nowrap;
}
[wc-view-type*="sp"] section.contact > h2::before{
  font-size: 2.5rem;
  top: -2.5rem;
}
[wc-view-type*="tb"] section.contact > h2::before{
  font-size: 3rem;
  top: -3rem;
}
section.contact > p{
  text-align: center;
  line-height: 2rem;
}
[wc-view-type*="sp"] section.contact > p{
  margin-bottom: 1rem;
  text-align: left;
  padding: 3.5rem 1rem 0 1rem;
}
[wc-view-type*="sp"] section.contact > p br{
  display: none;
}
[wc-view-type*="tb"] section.contact > p{
  margin-top: 5rem;
  margin-bottom: 1rem;
}
div.contact_box{
  position: relative;
  z-index: 2;
}
[wc-view-type*="sp"] div.contact_box{
  width: 100%;
  box-sizing: border-box;
  padding: 0 1rem;
}
[wc-view-type*="tb"] div.contact_box{
  display: flex;
  width: 100%;
  padding: 0 0.5rem;
  box-sizing: border-box;
}
[wc-view-type*="pc"] div.contact_box{
  display: flex;
  width: 800px;
  margin: 1rem auto 0 auto;
}
div.contact_box div.tel,
div.contact_box div.mail{
  background-color: #fff;
  border: solid 2px #57aab2;
  border-radius: 1rem;
  padding: 1rem
}
[wc-view-type*="sp"] div.contact_box div.tel{
  margin-bottom: 1rem;
}
[wc-view-type*="tb"] div.contact_box div.tel,
[wc-view-type*="tb"] div.contact_box div.mail,
[wc-view-type*="pc"] div.contact_box div.tel,
[wc-view-type*="pc"] div.contact_box div.mail{
  width: calc(100% - 1rem);
  margin: 0 0.5rem;
  background-color: #fff;
  border: solid 2px #57aab2;
  border-radius: 1rem;
  padding: 1rem;
  box-sizing: border-box;
}
div.contact_box div.tel,
div.contact_box div.mail{
  position: relative;
  z-index: 1;
}
div.contact_box div.tel::after,
div.contact_box div.mail::after{
  content: "";
  position: absolute;
  z-index: 2;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  opacity: 0.1;
}
[wc-view-type*="sp"] div.contact_box div.tel::after,
[wc-view-type*="sp"] div.contact_box div.mail::after{
  width: 100px;
  height: 130px;
  right: 0.5rem;
  bottom: 0.5rem;
}
[wc-view-type*="tb"] div.contact_box div.tel::after,
[wc-view-type*="tb"] div.contact_box div.mail::after{
  width: 150px;
  height: 130px;
  right: 0.5rem;
  bottom: 1rem;
}
[wc-view-type*="pc"] div.contact_box div.tel::after,
[wc-view-type*="pc"] div.contact_box div.mail::after{
  width: 196px;
  height: 150px;
  right: 0.5rem;
  bottom: 1rem;
}
[wc-view-type*="sp"] div.contact_box div.tel::after{
  background-image:url("../img/top/contact/tb_sp_tel_deco.webp");
}
body.safari [wc-view-type*="sp"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/tb_sp_tel_deco.png");
}
[wc-view-type*="sp"] div.contact_box div.mail::after{
  background-image:url("../img/top/contact/tb_sp_mail_deco.webp")
}
body.safari [wc-view-type*="sp"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/tb_sp_mail_deco.png");
}
[wc-view-type*="tb"] div.contact_box div.tel::after{
  background-image: url("../img/top/contact/tb_sp_tel_deco.webp");
}
body.safari [wc-view-type*="tb"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/tb_sp_tel_deco.png");
}
[wc-view-type*="tb"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/tb_sp_mail_deco.webp");
}
body.safari [wc-view-type*="tb"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/tb_sp_mail_deco.png");
}
[wc-view-type*="pc"] div.contact_box div.tel::after{
  background-image:url("../img/top/contact/pc_tel_deco.webp");
}
body.safari [wc-view-type*="pc"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/pc_tel_deco.png");
}
[wc-view-type*="pc"] div.contact_box div.mail::after{
  background-image:url("../img/top/contact/pc_mail_deco.webp");
}
body.safari [wc-view-type*="pc"] div.contact_box div.mail::after{
  background-image: url("../img/top/contact/pc_mail_deco.png");
}
div.contact_box div.tel > h3,
div.contact_box div.mail > h3{
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  color: #000;
  border-bottom: 1px solid #57aab2;
}
div.contact_box div.tel > p,
div.contact_box div.mail > p{
  line-height: 2rem;
  width: 100%;
  box-sizing: border-box;
}
[wc-view-type*="sp"] div.contact_box div.tel > p,
[wc-view-type*="sp"] div.contact_box div.mail > p{
  text-align: left;
  padding: 0 1rem;
}
[wc-view-type*="tb"] div.contact_box div.tel > p,
[wc-view-type*="tb"] div.contact_box div.mail > p{
  padding: 0 1rem;
}
[wc-view-type*="pc"] div.contact_box div.tel > p,
[wc-view-type*="pc"] div.contact_box div.mail > p{
  padding: 0 1rem;
}
div.contact_box div.tel > div.tel_btn,
div.contact_box div.mail > div.mail_btn{
  margin-top: 1rem;
}
div.contact_box div.tel > div.tel_btn a{
  padding-left: 3rem;
  position: relative;
  z-index: 1;
  display: table;
  font-size: 2rem;
  margin: 0 auto;
  text-decoration: none;
  color: #000;
}
[wc-view-type*="sp"] div.contact_box div.tel > div.tel_btn a{
  padding-left: 2.5rem;
}
[wc-view-type*="tb"] div.contact_box div.tel > div.tel_btn a,
[wc-view-type*="pc"] div.contact_box div.tel > div.tel_btn a{
  pointer-events: none;
}
div.contact_box div.tel > div.tel_btn a span{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 50px;
  height: 50px;
  display: table;
  background-color: var(--wcLogoSvg);
  background-color: #000;
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  right: 0.5em;
  transform: translateY(-50%);
}
[wc-view-type*="sp"] div.contact_box div.tel > div.tel_btn a span{
  width: 2.5rem;
}
div.contact_box div.mail > div.mail_btn a{
  border: solid 2px #000;
  padding: 0 2.5rem 0 1rem;
  border-radius: 5px;
  box-sizing: border-box;
  line-height: 3rem;
  display: table;
  margin: 0 auto;
  color: #000;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  z-index: 5;
}
div.contact_box div.mail > div.mail_btn a::after{
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  z-index: -1;
  right: 1rem;
}