@charset "UTF-8";

.top { position:relative; font-size:var(--fs28); text-align:center; font-weight: bold; margin-top:50px; }
.top span {  position:relative; }
.top span:before,.top span:after {
  content:"";
  display:block;
  height:100%;
  width:2px;
  background:var(--blue);
  position:absolute;
  top:50%;
}
.top span:before { left:-2em; transform:translateY(-50%) rotate(-35deg); }
.top span:after { right:-2em; transform:translateY(-50%) rotate(35deg); }
.clm-cap.flex { display:flex; justify-content:space-between; color:#fff; margin-top:5px; font-weight: bold; }



.mv { display:flex; align-items:center; justify-content:space-between; margin:30px auto; max-width:800px }
.mv img { width:40%; }
.h1 { font-size:var(--fs28); font-weight: bold; position: relative; margin-bottom:30px; width:60%; letter-spacing:2px; }
.h1 span {  position:relative; }
.h1-fuki {
  position: absolute;
  top:0px;
  left:48%;
  display: inline-block;
  margin-bottom: 13px;
  padding: 5px 30px;
  border-radius:8px;
  border:solid 1px #333;
  text-align: center;
  font-size: var(--fs20);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  letter-spacing:1px;
}
.h1-fuki::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  border-style: solid;
  border-width: 15px 20px 0 0;
  border-color: #000000 transparent transparent;
  translate: -50% 100%;
  transform: skew(-25deg);
  transform-origin: top;
}
.h1-fuki::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  border-style: solid;
  border-width:13px 17.6px 0 0;
  border-color: #ffffff transparent transparent;
  translate: calc(-50% - 0.3px) 100%;
  transform: skew(-25deg);
  transform-origin: top;
}

.blue2-back { background:var(--blue2); width:100vw; margin:80px calc(50% - 50vw) 0; padding:40px 0; }
.blue2-back .blue2-back-wrap { max-width:1000px; width:100%; margin:0 auto; padding:0 20px; }
.blue2-back h2 { color:#fff; text-align:center; margin:0 0 40px; }

.blue2-back .pt4-wrap {}
.blue2-back .pt4-wrap .pt-block { background:#fff; padding:30px; }
.blue2-back .pt4-wrap .pt-block .ttl {
  display:flex;
  align-items:center;
  font-size: var(--fs20);
  font-weight: bold;
  position:relative;
  margin-bottom:30px;
}
.blue2-back .pt4-wrap .pt-block .ttl:before,.blue2-back .pt4-wrap .pt-block .ttl:after {
  content:"";
  display:block;
  height:3px;
  position:absolute;
  bottom:-10px;
  left:0;
}
.blue2-back .pt4-wrap .pt-block .ttl:before {
  width:100%;
  background:#ddd;
}
.blue2-back .pt4-wrap .pt-block .ttl:after {
  width:100px;
  background:#f37d84;
}
.blue2-back .pt4-wrap .pt-block .ttl img { max-height:48px; height:100%; object-fit:contain; padding-right:10px; }
.blue2-back .pt4-wrap .pt-block p {}
.blue2-back .pt4-wrap .pt-block p span {
  display:inline-block;
  font-weight:bold;
  background:#ffdb76;
  padding:5px 1em;
  line-height: 1;
  border-radius:8px;
  margin-bottom:5px;
}

.clm01-fuki {
  position: relative;
  display: inline-block;
  margin-bottom: 13px;
  padding: 10px 30px;
  border-radius: 999px;
  background-color: #6498c4;
  text-align: center;
  font-size: var(--fs20);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
}

.clm01-fuki::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20%;
  border-style: solid;
  border-width: 13px 7.5px 0 7.5px;
  border-color: #6498c4 transparent transparent;
  translate: -50% 100%;
}
.clm01-flb { display:flex; justify-content:space-between; align-items:center; margin:20px 0; }
.clm01-flb-img { width:45%; }
.clm01-flb-tx { width:50%; }
.clm01-flb-tx a { display:block; color:#333; font-size:var(--fs18); }

.clm01-kensaku { margin:20px auto; text-align:center; transition:all ease-out .4s; }
.clm01-kensaku:hover { opacity:.6; }
.clm01-kensaku img { max-width:450px; width:100%; }
.clm-catch.kensaku { color:var(--blue); text-decoration:underline; font-weight: bold; text-align:left; }


.clm02-ylwbox { background:var(--ylw); padding:30px; border-radius:8px; position:relative; }
.clm02-ylwbox .ad {
  position:absolute;
  bottom:95%;
  right:8px;
  max-width:190px;
  z-index: -1;
}
.clm02-ylwbox .whtbox { padding:5px; background:#fff; position:relative; }
.clm02-ylwbox .whtbox .mark {
  position:absolute;
  width:clamp(40px,6vw,80px);
  top:0;
  right:0;
  transform:translate(45%,160%);
}
.clm02-ylwbox .clm-lead { margin-bottom:10px; text-align:center; }
.pointimg { max-width:none; display:block; width:calc(100% + 3.28vw); margin-right:-3.28vw; }


@media screen and (max-width:1024px){
  .mv { max-width:650px; }
}
@media screen and (max-width:600px){
  .mv { flex-direction:column; }
  .mv img { width:80%; }
  .h1 { width:100%; }
  .h1-fuki { left:52%; }
  .blue2-back { margin-top:50px; }
  .blue2-back .pt4-wrap .pt-block .ttl:after { width:60px; }
  .blue2-back h2 { margin-bottom:20px; }
  .clm-cap.flex { flex-direction:column; }
  .clm01-flb { display:block; }
  .clm01-flb-img,.clm01-flb-tx { width:100%; }
  .clm01-flb-tx { margin-top:20px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
  .clm01-flow-item:after {
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    border-top: 20px solid var(--blue);
  }
  .clm01-kensaku img { max-width:200px; position:relative; z-index: -2; }
  .clm02-ylwbox .ad { max-width:85px; }
}
@media screen and (max-width:390px){
  .h1-fuki { left:54%; }
}