@charset "utf-8";
.pc {display: block;}
.pctb {display: block;}
.tablet{display: none;}
.tbsp{display: none;}
.sp {display: none;}

.font_catch1 {
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.75px;
  font-size: 24px;
  font-size: clamp(18px, 3vw, 24px);
}

.font_catch2 {
  text-align: right;
  width: 100%;
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 48px;
  font-size: clamp(36px, 6vw, 48px);
}

.c2_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.img_catch2 {
  padding-top: 10px;
  width: 100%;
  vertical-align: middle;
}

.font_catch3 {
  line-height: 1.8;
  text-align: center;
  font-weight: bold;
  font-size: 48px;
  font-size: clamp(22px, 5vw, 48px);
}

.font_catch4 {
  line-height: 1.8;
  text-align: center;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
}

.n_text1{
  margin-left:42px;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
}
.n_text2{
  max-width:825px;
  margin-left:57px;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
}
.p2_kisyu{
  text-align: center;
  font-size: 25px;
  font-size: clamp(20px, 1.5vw, 25px);
  font-weight: bold;
}
.icon_txt {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.8;
  margin-top: 30px;
}

.fl_wrap{
  display: inline;
}
.fl_wrap img{
  vertical-align: middle;
  height:80%;
}

.font_p_catch {
  text-align: center;
  font-weight: bold;
  font-size: 40px;
  font-size: clamp(18px, 3.5vw, 40px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 30px;

}

.font_p1 {
  color: #24A1A5;
}

.font_p2 {
  color: #F673AE;
}

.font_p3 {
  color: #FF9341;
}

.font_p4 {
  color: #2aaffc;
}

.bg_catch {
  background-color: #EFF8F8;
}

.bg_p1 {
  background-color: #DEF1F2;
}

.bg_p2 {
  background-color: #FEEAF3;
}

.bg_p3 {
  background-color: #FFEFE3;
}

.bg_p4 {
  background-color: #e9f7ff;
}

.sl{
	display: flex;
	justify-content: center;
	align-items: center;
  font-size: 25px;
  font-size: clamp(16px, 2vw, 25px);
	text-align: center;
}

.sl::before,
.sl::after {
	content: '';
	width: 3px;
	height: 23px;
	background-color: #2aaffc;
}

.sl::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.sl::after {
	margin-left: 30px;
	transform: rotate(35deg)
}

.underline {
  border-bottom: solid 2px;
}

/*背景*/
.bg_slash {
  background-image: -webkit-linear-gradient(-80deg, #fff 50%, #EFF8F8 50%);
}

.bg_square {
  padding: 70px 0px 0px;
}

/*丸枠*/
.circle {
  width: 250px;
  height: 250px;
  background-color: #fff;
  border-radius: 50%;
  text-align: center;
  box-shadow: 2px 2px 4px gray;
  transition: all 0.5s;
}

.circle:hover {
  transform: scale(1.03, 1.03);
}

.circle_s {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 200px;
  background-color: #fff;
  border-radius: 50%;
  text-align: center;
  margin: 0 auto;
}

.circle_p1 {
  border: 1px solid #24A1A5;
}

.circle_p2 {
  border: 1px solid #F673AE;
}

.circle_p3 {
  border: 1px solid #FF9341;
}

.circle_p4 {
  border: 1px solid #2aaffc;
}

/*背景白*/
.bg_white {
  /*  color: #5F97A3;
    font-weight: bold;*/
  background-color: white;
  /*  border-bottom: solid 2px #5F97A3;*/
  padding: 0 10px;
}

/*白吹き出し*/
.white_balloon {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  background: white;
  border-radius: 75px;
  border: 3px solid #24A1A5;
}

.white_balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 47%;
  border: 18px solid transparent;
  border-top: 25px solid #24A1A5;
}

.white_balloon:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 47%;
  margin-left: 3px;
  border: 15px solid transparent;
  border-top: 22px solid white;
}

.catch {
  display: flex;
  justify-content: center;
}

/*赤吹き出し*/
.red_balloon_posi{
  text-align: left;
  margin-left:57px;
}
.red_balloon {
  position: relative;
  display: inline-block;
  padding: 10px 17px;
  min-width: 100px;
  max-width: 100%;
  color: #fff;
  background: red;
  border-radius: 5px;
}
.red_balloon_txt {
  font-weight: bold;
  text-align: center;
  font-size: 24px;
  font-size: clamp(18px, 2vw, 24px);
}

.red_balloon:before {
  content: '';
  position: absolute;
  top: 100%;
  left: 44%;
  border: 8px solid transparent;
  border-top: 12px solid red;
}

.bg_tri_w {
  background-color: #fff;
  height: 69px;
  clip-path: polygon(0% 0%, 44% 0%, 50% 100%, 56% 0%, 100% 0%);
  margin-top: -3px;
}

.icon_link{
  transition: all 1s;
}

.icon_link:hover{
  transform: scale(1.03, 1.03);
}
/*
.merit_link {
  background-color: #24A1A5;
  color: white !important;
  padding: 10px 50px 15px;
  transition: all 1s;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
}*/

.merit_link:hover {
  transform: scale(1.03, 1.03);
  background-color: #24A1A5;
}

.titleshadow {
  text-shadow: 1px 2px 3px #808080;
  font-weight: bold;
  color: #305074;
}

/*帯*/
.obi {
  display: inline-block;
  padding: 8.6px 2em 8.6px 0.5em;
  margin-left:17px;
  /*上下 左右の余白*/
  clip-path: polygon(0% 0%, calc(100% - 25px) 0%, 100% 50%, calc(100% - 25px) 100%, 0% 100%);
  min-width: 50%;
}

.obi_p1 {
  background: #24A1A5;
}

.obi_p2 {
  background: #F673AE;
}

.obi_p3 {
  background: #FF9341;
}

.obi_p4 {
  background: #2aaffc;
}

.obi_txt {
  color: #fff;
  border-left: solid 9px #fff;
  /*左線*/
  font-weight: bold;
  font-size: 31px;
  font-size: clamp(18px, 3vw, 31px);
  padding-left: 26px;
}

.dl_btn {
  justify-content: center;
  background-color: #fff;
  padding: 10px 50px 10px 30px;
  margin-top: 115px;
  margin-bottom: 115px;
  width: 70%;
  font-weight: bold;
  transition: all 0.5s;
  text-align:center ;
  font-size: 21px;
  font-size: clamp(16px, 3vw, 30px);
}

.dl_btn_p1 {
  border: solid 2px #24A1A5;
  color: #24A1A5;
}

.dl_btn_p2 {
  border: solid 2px #F673AE;
  color: #F673AE;
}

.dl_btn_p3 {
  border: solid 2px #FF9341;
  color: #FF9341;
}

.dl_btn_p4 {
  border: solid 2px #2aaffc;
  color: #2aaffc;
}

.dl_btn_p1 > a{
  color:#24A1A5;
}
.dl_btn_p2 > a{
  color:#F673AE;
}
.dl_btn_p3 > a{
  color:#FF9341;
}
.dl_btn_p4 > a{
  color:#2aaffc;
}
.cons_btn {
  display: inline-flex;
  background-color: #d00000;
  padding: 10px 20px;
  width:70%;
  margin-bottom: 115px;
  font-weight: bold;
  transition: all 0.5s;
  justify-content:center;
  font-size: 21px;
  font-size: clamp(16px, 3vw, 42px);
  border-radius: 10px;
  color: #fff;
}

.link_btn_p3 {
  background-color: #FF93414D;
  border: solid 2px #FF9341;
  padding: 10px 45px;
  margin-top: 15px;
  margin-bottom: 50px;
  margin-left:57px;
  width: auto;
  font-weight: bold;
  transition: all 0.5s;
  border-radius: 75px;
  font-size: 24px;
  font-size: clamp(18px, 2vw, 24px);
}

.other_dotwrap {
  position: relative;
  height: 100px;
  white-space: nowrap;
}

.other_dot {
  display: inline;
  position: absolute;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

ul.check_list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  margin-left:140px
}

ul.check_list li {
  margin-left: 10px;
  padding-left: 24px;
  background-image: url(../img/icon_check.png);
  background-repeat: no-repeat;
  background-position: left center;
}

.label_p4 {
  padding: 5px;
  background-color: #afe1fe;
  border-radius: 75px;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
}


/*削除*/
.img_field {
  background-color: white;
  padding: 30px;
  margin: 30px auto 50px;
  border-radius: 10px;
  box-shadow: 2px 2px 4px gray;
}

#p1contents a:visited {
  color: #24A1A5;
}

#p2contents a:visited {
  color: #F673AE;
}

#p3contents a:visited {
  color: #FF9341;
}

#p4contents a:visited {
  color: #2aaffc;
}
#p1contents .cons_wrap a:visited,
#p2contents .cons_wrap a:visited,
#p3contents .cons_wrap a:visited,
#p4contents .cons_wrap a:visited {
  color: #fff;
}
.p3_bal{
  display:inline-block;
}
.p3_bal_txt{
  margin-left:90px;
  position: absolute;
  margin-top:31px!important;
  font-size: 20px;
  font-size: clamp(11px, 2vw, 20px);
}

/*DLアイコン*/
.gg-software-download {
  box-sizing: border-box;
  position: relative;
  display: block;
  transform: scale(var(--ggs, 1));
  width: 16px;
  height: 6px;
  border: 2px solid;
  border-top: 0;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  margin-top: 8px;
  margin-right: 20px;
}

.gg-software-download::after {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  width: 8px;
  height: 8px;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-45deg);
  left: 2px;
  bottom: 4px
}

.gg-software-download::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  border-radius: 3px;
  width: 2px;
  height: 10px;
  background: currentColor;
  left: 5px;
  bottom: 5px
}

/* .fadenav{animation: fadeIn 2s ease 0s 1 normal;}
 @keyframes fadeIn { from {
     opacity: 0;
     transform: translateY(-20px);
 }
 to {
     opacity: 1;
     transform: translateY(0);
 }
 } */
/* 画面外にいる状態 */
.fade {
  transition: all 2000ms;
  opacity: 0;
  visibility: hidden;
  transform: translate(0px, 50px);
}

.fadein {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 30px);
}

#p4contents ul li {
  padding-left :45px;
  font-size: 20px;
  font-size: clamp(16px, 1.5vw, 20px);
}
@media (max-width: 768px){
	.pc {display: none;}
  .tablet{display: block;}
  .tbsp{display: block;}
  ul.check_list {
    margin-left:0px
  }
  .n_text1{
    margin-left:5px;
  }
  .n_text2{
    margin-left:5px;
  }
  .red_balloon_posi{
    text-align: center;
    margin-left:5px;
  }
  .link_btn_p3 {
    margin-left:5px;
  }
  .dl_btn {
    margin-top: 30px;
    margin-bottom: 50px;
  }
  .obi {
    margin-left:5px;
    width: 100%;
  }
  .link_btn_p3 {
    width:100%;
    justify-content:center;
  }
  .merit_link {
    padding: 10px 25px 15px;
  }
  .bg_tri_w {
    clip-path: polygon(0% 0%, 42% 0%, 50% 75%, 58% 0%, 100% 0%);
  }
}
@media (max-width: 620px){
  .p3_bal_txt{
    margin-left:40px;
  }
}
@media (max-width: 425px){
	.pctb {display: none;}
  .tablet{display: none;}
  .sp {display: block;}
  .bg_tri_w {
    clip-path: polygon(0% 0%, 40% 0%, 50% 50%, 60% 0%, 100% 0%);
  }
  .p3_bal_txt{
    margin-left:20px;
  }

  .img_point{
    width:60%
  }
}