.all_wrapper {
  overflow: hidden;
}

.sp {
  display: none;
}

/* ヘッダー */
.header {
  display: flex;
  justify-content: space-between;
  padding-top: 1rem;
}

.header_title img {
  width: 27.2rem;
  height: 6.6rem;

}

.header_nav {
  display: flex;
  gap: 2rem;
  margin-right: 1.9rem;
  padding-top: 0.8rem;
  font-weight: 500;
}

.header_contact_link {
  display: block;
  width: 17rem;
  height: 5rem;
  background-color: #64C747;
  color: white;
  border-radius: 2.5rem;
  padding-top: 1.2rem;
  font-size: 1.6rem;

}

.header_contact_link_logo {
  width: 2rem;
  height: 2rem;
  margin-left: 2.4rem;
  margin-top: 0.3rem;
  margin-right: 0.5rem;
}

.header_science_link {
  display: flex;
  width: 29.9rem;
  height: 5rem;
  background-color: #F38B4B;
  color: white;
  border-radius: 2.5rem;
  padding-top: 0.6rem;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2rem;
}

.header_science_link_logo {
  width: 2rem;
  height: 2.837rem;
  margin: 0.5rem 1.4rem 0 2.5rem;

}

/* ヘッダー */

/* メイン */
.main {
  position: relative;

}

.main_background {
  position: absolute;
  width: 138rem;
  height: auto;
  z-index: -3;
  top: -8rem;
  left: -5rem;

}

/* メインビジュアル */
.mainvisual_wrap {
  height: 38.5rem;
}

.main_title {
  width: 71rem;
  height: auto;
  position: absolute;
  top: -6.3rem;
  left: 0;
  z-index: 2;
}

.mainvisual {
  width: 102.8rem;
  height: auto;
  position: absolute;
  top: -32.2rem;
  right: -17rem;
  z-index: -2;

}

.click_img {
  position: absolute;
  top: 29rem;
  right: 3rem;
  z-index: 5;
}

.click_img img {
  width: 23.6rem;
  height: 19.1rem;
}

.image_text {
  position: absolute;
  top: 2rem;
  right: 0rem;
  font-size: 1.5rem;
  color: white;
}

/* メインビジュアル */

/* キャンペーン */
.campaign {
  position: relative;
  padding-top: 8.8rem;

}

.winter_link {
  position: relative;
  z-index: 5;
  margin-left: 9rem;
  display: block;
  width: 108.7rem;
  margin-bottom: 3rem;
}

.winter_link_img {
  width: 108.7rem !important;
  border-radius:1.6rem;
}

.campaign_bg {
  width: 152rem;
  height: 78rem;
  position: absolute;
  left: -14rem;
  top: 0;
  z-index: 1;

}

.campaign_text {
  z-index: 2;
  position: relative;
  display: flex;
  gap: 1.3rem;
  justify-content: center;
  margin-bottom: 1.8rem;
  height: 15rem;
}

.left_glf {
  width: 33.4rem;
  height: 14.3rem;
  position: absolute;
  top: 1rem;
  left: 8.5em;
}

.center_glf {
  width: 50.9rem;
  height: 17.3rem;
  position: absolute;
  top: 0;
  left: 38rem;
}

.right_glf {
  width: 27.9rem;
  height: 18rem;
  position: absolute;
  top: -3rem;
  right: 10rem;
}

.campaign_1 {
  width: 29.5rem;
  height: 14.3rem;
  border-radius: 1.8rem;
  background-color: #FFF363;
  font-size: 4.5rem;
  color: #005298;
  font-weight: 900;
  position: relative;
  line-height: 5rem;
  padding-top: 1rem;
  padding-left: 1rem;
}

.campaign_1_text_accent {
  font-size: 7rem;
  font-weight: 900;
}

.campaign_1_img {
  width: 19rem;
  position: absolute;
  top: -0.5rem;
}

.campaign_2 {
  width: 50.9rem;
  height: 14.3rem;
  background-color: #FFF363;
  color: #005298;
  font-weight: 900;
  position: relative;
  font-size: 4.5rem;
  border-radius: 1.8rem;
}

.campaign_2_img {
  width: 19.7rem;
  height: 15.2rem;
  position: absolute;
  left: -2rem;
  top: 2rem;
}

.campaign_2_accent {
  font-size: 2.5rem;
  color: #FE7070;
  font-weight: 900;
  position: absolute;
  top: 0.2rem;
  left: 0rem;
  transform: rotate(-13deg);

}

.campaign_2_accent::before {
  content: '';
  display: inline-block;
  border-left: 0.4rem solid #FE7070;
  height: 2.2rem;
  margin-right: 0.7rem;
  transform: rotate(-11deg);
}

.campaign_2_accent::after {
  content: '';
  display: inline-block;
  border-left: 0.4rem solid #FE7070;
  height: 2.2rem;
  margin-left: 0.7rem;
  transform: rotate(11deg);

}

.campaign_2_text {
  margin-left: 14.19rem;
}

.campaign_2_text_img {
  width: 14rem;
  height: 9.8rem;
}

.campaign_2_text_accent2 {
  font-size: 3.7rem;
  line-height: 3.7rem;
  padding-top: 1rem;
}

.campaign_2_flex {
  display: flex;
  margin-left: 14.9rem;
  position: absolute;
  top: 5rem;

}

.campaign_3 {
  width: 27.9rem;
  height: 14.3rem;
  background-color: #FFF363;
  font-size: 2.5rem;
  color: #005298;
  font-weight: bold;
  position: relative;
  padding-left: 11.4rem;
  padding-top: 6.3rem;
  border-radius: 1.8rem;

}

.percent {
  position: absolute;
  left: -0.5rem;
  top: 1rem;

}

.glf_img {
  width: 11.4rem;
  height: 11.4rem;
}

.percent_text {
  font-size: 7.6rem;
  color: #005298;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
}

.percent_text_font {
  font-size: 3.3rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
}

.goodsain_img {
  width: 18.3rem;
  height: 14.1rem;
  position: absolute;
  top: -5rem;
  right: -0.5rem;
}

.day_link {
  position: relative;
  z-index: 5;
  padding-bottom: 8.9rem;
}

.day_title {
  color: white;
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  text-align: center;
}

.day_img {
  width: 43.3rem;
  height: 5.1rem;
  margin: 0 auto 2.3rem;
  display: block;

}

.day_link_wrap {
  display: flex;
  justify-content: center;
  gap: 2.2rem;
}

.day_contact_link {
  display: block;
  width: 40.9rem;
  height: 6.9rem;
  font-size: 2rem;
  border-radius: 2.5rem;
  color: white;
  background-color: #64C747;
  text-align: center;
  position: relative;
  font-weight: 500;
  padding-top: 2rem;
  padding-left: 5rem;
}

.day_contact_link img {
  position: absolute;
  width: 2.7rem;
  height: 2.7rem;
  top: 2.3rem;
  left: 5.6rem;
}

.day_contact_accent {
  font-size: 1.8rem;
  color: white;
  font-weight: 600;
  position: absolute;
  top: -0.3rem;
  left: 0.5rem;
  transform: rotate(-12deg);

}

.day_contact_accent::before {
  content: '';
  display: inline-block;
  border-left: 0.2rem solid #ffffff;
  height: 2rem;
  transform: rotate(-20deg);
  margin-right: 0.5rem;
}

.day_contact_accent::after {
  content: '';
  display: inline-block;
  border-left: 0.2rem solid #ffffff;
  height: 2rem;
  margin-left: 0.5rem;
  transform: rotate(20deg);
}

.day_science_link {
  display: block;
  width: 40.9rem;
  height: 6.9rem;
  font-size: 2rem;
  border-radius: 2.5rem;
  color: white;
  background-color: #F38B4B;
  text-align: center;
  position: relative;
  font-weight: 500;
  padding-top: 1rem;
  padding-left: 5rem;
  line-height: 2.4rem;
}

.day_science_link img {
  position: absolute;
  width: 2.7rem;
  height: 3.8rem;
  top: 1.8rem;
  left: 4.6rem;
}

.day_science_accent {
  font-size: 1.8rem;
  color: white;
  font-weight: 600;
  position: absolute;
  top: -0.3rem;
  right: 0.5rem;
  transform: rotate(12deg);

}

.day_science_accent::before {
  content: '';
  display: inline-block;
  border-left: 0.2rem solid #ffffff;
  height: 2rem;
  transform: rotate(-20deg);
  margin-right: 0.5rem;
}

.day_science_accent::after {
  content: '';
  display: inline-block;
  border-left: 0.2rem solid #ffffff;
  height: 2rem;
  margin-left: 0.5rem;
  transform: rotate(20deg);
}

/* キャンペーン */

/* お悩み相談 */
.trouble {
  background-color: #9EA8BA64;
  position: relative;
  padding-top: 4.6rem;
  height: 53.7rem;

}

.dotto1 {
  position: absolute;
  width: 1.3rem;
  height: 1.3rem;
  top: 3.5rem;
  left: 53rem;
}

.dotto2 {
  position: absolute;
  width: 1.3rem;
  height: 1.3rem;
  top: 3.5rem;
  left: 57rem;
}

.dotto3 {
  position: absolute;
  width: 1.3rem;
  height: 1.3rem;
  top: 3.5rem;
  left: 61rem;
}

.trouble_title_border1 {
  position: absolute;
  top: 12rem;
  left: 35rem;
  width: 23rem;
  height: 0.2rem;
}

.trouble_title_border2 {
  position: absolute;
  top: 12rem;
  left: 63rem;
  width: 23rem;
  height: 0.2rem;
}

.trouble_title_border3 {
  position: absolute;
  top: 12.1rem;
  left: 58.6rem;
  width: 4rem;
  height: 1.7rem;
}

.trouble_title {
  font-size: 3rem;
  font-weight: 600;
  -webkit-text-stroke: 0.8rem#ffffff;
  paint-order: stroke;
  text-align: center;
  position: relative;
}


.trouble_title_accent {
  font-size: 4rem;
  color: #2C4F97;
}

.trouble_title_accent_2 {
  font-size: 4rem;
}

.target_box {
  position: absolute;
  top: -5rem;
  left: 24rem;
  z-index: 3;
  height: 53.7rem;
}

.target_img {
  width: 18.3rem;
  height: 15.8rem;
  position: absolute;

}

.target_text {
  font-size: 2.8rem;
  font-weight: 600;
  width: 14rem;
  position: absolute;
  top: 5rem;
  left: 2rem;
  transform: rotate(-13deg);
}

.target_text::after {
  content: '';
  display: block;
  border-bottom: 0.5rem solid #FFFCAC;
}

.trouble_character {
  display: block;
  width: 20rem;
  height: auto;
  margin: 6.4rem auto;
  padding-bottom: 3rem;


}

.question_mark {
  width: 29rem;
  height: auto;
  position: absolute;
  bottom: 1rem;
  right: 25rem;

}

.trouble_box {
  position: absolute;
  bottom: 20rem;
  left: 4rem;
}

.trouble_box2 {
  position: absolute;
  bottom: 19.6rem;
  left: 30.1rem;
}

.trouble_box3 {
  position: absolute;
  bottom: 4.6rem;
  left: 25.7rem;
}

.trouble_box4 {
  position: absolute;
  bottom: 23.5rem;
  right: 14.5rem;
}

.trouble_box5 {
  position: absolute;
  bottom: 5.4rem;
  right: 4.1rem;
}

.cloud {
  width: 23.1rem;
  height: auto;
}

.check_mark {
  width: 1.9rem;
  height: auto;
  position: absolute;
  top: 4rem;
  left: 5rem;
}

.trouble_text {
  font-size: 1.6rem;
  font-weight: 600;
  position: absolute;
  top: 4rem;
  left: 8rem;
}

.triangle {
  height: calc(4rem / 2 * tan(60deg));
  width: 10rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 64rem;
  bottom: -3.3rem;
  background-color: #9EA8BA64;
}

/* お悩み相談 */

/* お悩み解決 */
.resolution {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 7.3rem;
  padding-top: 9.6rem;
  padding-bottom: 10.4rem;
}

.resolution_bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 60rem;
  width: 132rem;
}

.resolution_text_wrap {}

.resolution_img {
  width: 35rem;
  height: 35rem;
}

.resolution_title {
  font-size: 4.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #2C4F97;
}

.resolution_title_marker {
  width: 43.1rem;
  height: 2.8rem;
  margin-bottom: 0.4rem;
}

.resolution_text {
  font-size: 1.6rem;
  width: 48rem;

}

.resolution_accent {
  font-size: 2rem;
  position: relative;
  z-index: 2;

}

.resolution_accent::after {
  content: '';
  display: block;
  position: absolute;
  width: 14rem;
  border-bottom: 1rem solid #FFFCAC;
  left: 1rem;
  bottom: 0rem;
  z-index: -1;


}

/* お悩み解決 */

/* プロモーション */
.promotion {
  padding: 6rem 0 5rem;
  position: relative;
}

.promotion_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 152rem;
  height: 59.7rem;
}

.promotion_img {
  position: absolute;
  top: 6rem;
  right: -11rem;
  width: 24.1rem;
  height: 17.6rem;
}

.promotion_title {
  font-size: 3rem;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #2C4F97;
  font-weight: bold;
  padding-left: 7.7rem;
  padding-top: 2.1rem;
  height: 9.2rem;
  background-color: #FFFCAC;
  border-radius: 1rem 1rem 0 0;
}

.promotion_title_accent {
  font-size: 4.5rem;
}

.promotion_text_wrap {
  width: 78.3rem;
  margin: 0 auto;
  border-radius: 1rem;
  position: relative;
}

.promotion_text {
  font-size: 4.5rem;
  font-weight: bold;
  color: #2C4F97;
  font-family: "Zen Maru Gothic", sans-serif;
  background-color: white;
  padding: 1.7rem 0 1.2rem 5.8rem;
}

.promotion_link_wrap {
  display: flex;
  justify-content: center;
  gap: 1.7rem;
  background-color: white;
  padding-bottom: 0.7rem;
  border-radius: 0 0 1rem 1rem;
}

.promotion_contact {
  width: 36.2rem;
  height: 6.9rem;
}

.promotion_contact img {
  left: 3.6rem;
}

.promotion_science {
  width: 36.2rem;
  height: 6.9rem;
}

.promotion_science img {
  left: 2.6rem;
}

/* プロモーション */

/* about */
.about {
  position: relative;
  padding-top: 9rem;
  padding-bottom: 8rem;
  height: 78.2rem;
  background-color: #FFFEEB;
  background-image: linear-gradient(90deg, #dcdcdc80 1px, transparent 1px), linear-gradient(#dcdcdc80 1px, transparent 1px);
  background-position: 10px 10px;
  background-size: 27px 27px;
}

.about_bg {
  position: absolute;
  top: -1rem;
  left: 0;
  width: 130rem;
}

.about_title_wrap {
  position: relative;
  width: 87rem;
  margin: 0 auto 3rem;
}

.about_title {
  font-size: 3.5rem;
  color: white;
  font-weight: 500;
  position: absolute;
  top: 1.6rem;
  left: 9rem;
}

.about_title_bg {
  width: 87rem;
  height: 9rem;

}

.about_sub_title {
  font-size: 3rem;
  font-weight: bold;
  color: #2C4F97;
  margin-bottom: 2rem;
  text-align: center;
}

.about_text {
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
  line-height: 3.3rem;
}

/* about */

/* 図形 */
.shape {
  position: relative;
  height: 78.3rem;
}

.shape_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 78.3rem;
}

.shape_title {
  color: #2C4F97;
  font-size: 3.5rem;
  text-align: center;
  padding-top: 5.8rem;
  position: relative;
  z-index: 2;
}

.shape_title_accent {
  font-size: 2.5rem;
}

.shape_title::before {
  content: '';
  display: block;
  position: absolute;
  top: 5.8rem;
  left: 40rem;
  height: 5rem;
  border-left: 0.3rem solid #2C4F97;
  transform: rotate(-45deg);

}

.shape_title::after {
  content: '';
  display: block;
  position: absolute;
  top: 5.8rem;
  right: 40rem;
  height: 5rem;
  border-left: 0.3rem solid #2C4F97;
  transform: rotate(45deg);

}

.shape_oval {
  position: absolute;
  top: 20.3rem;
  left: 40.8rem;
  width: 45.9rem;
  height: 46rem;
}

.shape_text_box {
  background-color: #2C4F97;
  width: 17rem;
  height: 17rem;
  border-radius: 50%;
  position: absolute;
  padding-top: 2.8rem;
}

.shape_box_title {
  text-align: center;
  color: #FFE103;
  font-size: 1.8rem;
  margin-bottom: 1.1rem;
  font-weight: normal;
}

.shape_box_text {
  text-align: center;
  font-size: 1.6rem;
  color: white;
}

.shape_text_box1 {
  top: 12.7rem;
  left: 55.5rem;
}

.shape_text_box2 {
  top: 22.3rem;
  right: 34.9rem;
}

.shape_text_box3 {
  top: 45.1rem;
  right: 34.9rem;
}

.shape_text_box4 {
  top: 56.7rem;
  left: 55.1rem;
}

.shape_text_box5 {
  top: 45.1rem;
  left: 34.9rem;
}

.shape_text_box6 {
  top: 22.3rem;
  left: 34.9rem;
}

/* 図形 */

/* enjoy */
.enjoy {
  position: relative;
  height: 104.5rem;
}

.enjoy_top {
  position: absolute;
  top: -2.5rem;
  left: 0;
  width: 130rem;
  height: 5rem;
}

.enjoy_bg {
  position: absolute;
  width: 130rem;
}

.enjoy_title {
  width: 51.3rem;
  height: 28.6rem;
  position: absolute;
  top: 1rem;
  left: 2rem;
}

.enjoy_text_box {
  width: 30rem;
  height: 20rem;
}

.enjoy_text_box1 {
  position: absolute;
  top: 2rem;
  right: 35rem;
}

.enjoy_text_box2 {
  position: absolute;
  left: 23rem;
  top: 27rem;
}

.enjoy_text_box3 {
  position: absolute;
  top: 18rem;
  right: 10rem;
}

.enjoy_cloud_1 {
  width: 23.1rem;
  height: 13.3rem;
  position: absolute;
  top: 0;
  left: -5rem;
}

.enjoy_cloud_2 {
  width: 23.1rem;
  height: 13.3rem;
  position: absolute;
  top: 0;
  left: 5rem;
}

.enjoy_cloud_3 {
  transform: rotate(-25deg);
}

.enjoy_text_box_font {
  position: absolute;
  top: 5rem;
  left: -2rem;
  font-size: 2rem;
  font-weight: bold;
  transform: rotate(-3deg);

}

.enjoy_text_box_font2 {
  position: absolute;
  top: 8rem;
  left: 4rem;
  font-size: 2rem;
  font-weight: bold;
  transform: rotate(-16deg);
}

.enjoy_text_box_font3 {
  position: absolute;
  top: 8rem;
  left: 6rem;
  font-size: 2rem;
  font-weight: bold;
  transform: rotate(6deg);
}

.enjoy_question {
  position: absolute;
  top: -0.6rem;
  left: 23.1rem;
  width: 7.5rem;
  height: 10.8rem;
  transform: rotate(13deg);
}

.enjoy_question2 {
  position: absolute;
  top: -0.4rem;
  left: 23.1rem;
  width: 7.5rem;
  height: 10.8rem;
  transform: rotate(13deg);
}

.enjoy_question3 {
  position: absolute;
  top: -0.6rem;
  left: 23.1rem;
  width: 7.5rem;
  height: 10.8rem;
  transform: rotate(13deg);
}

.enjoy_bunner {
  position: relative;
  width: 100rem;
  height: 15rem;
  margin: 0 auto 0;
  top: 83rem;
  background-color: #FFE103;
  border-radius: 2.8rem;
  display: flex;

}

.enjoy_glf {
  width: 16.7rem;
  height: 16.7rem;
  position: absolute;
  top: -1rem;
  left: 4rem;
}

.enjoy_percent {
  font-size: 9rem;
  color: #E506A0;
  -webkit-text-stroke: 0.8rem#ffffff;
  paint-order: stroke;
  font-weight: bold;
  position: absolute;
  top: 1rem;
  left: 5rem;
}

.enjoy_percent_accent {
  font-size: 4.8rem;
}

.enjoy_bunner_text {
  font-size: 3.5rem;
  font-weight: bold;
  padding-left: 27.3rem;
  padding-top: 2rem;
}

.enjoy_bunner_text_accent {
  color: #E506A0;
  padding-top: 2.6rem;
}

.enjoy_bunner_good_img {
  width: 36.1rem;
  height: 27.8rem;
  position: absolute;
  top: -9rem;
  right: -5rem;
}

/* enjoy */

/* thinking */
.thinking {
  position: relative;
  height: 56.6rem;
  padding: 10rem 0 0 0;
}

.thinking_bg {
  width: 145rem;
  height: 80.6rem;
  position: absolute;
  top: 0;
  left: 0;

}

.thinking_point {
  position: absolute;
  left: 12rem;
  z-index: 2;
  width: 15.2rem;
  height: 15.2rem;
  background-color: #5FC2D3;
  border-radius: 50%;
  color: white;
  font-size: 3rem;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  transform: rotate(-20deg);
  padding-top: 3rem;

}

.thinking_point::before {
  content: '';
  position: absolute;
  top: 5rem;
  right: 2rem;
  transform: rotate(16deg);
  display: inline-block;
  border-left: 0.4rem solid #ffffff;
  height: 7rem;
}

.thinking_point::after {
  content: '';
  position: absolute;
  top: 5rem;
  left: 2rem;
  transform: rotate(-16deg);
  display: inline-block;
  border-left: 0.4rem solid #ffffff;
  height: 7rem;
}

.thinking_title {
  font-size: 2.5rem;
  padding-left: 3.7rem;
  height: 11.9rem;
}

/* thinking */

/* 概要 */
.overview {
  position: relative;
  background-color: #5FC2D3;
  padding: 5rem 6rem;

}

.overview_wrap {
  background-color: white;
  border-radius: 4rem;
  padding-bottom: 7rem;
}

.overview_bg {
  width: 120rem;
  height: 16.7rem;
  position: absolute;
  top: 0.5rem;
  left: 1rem;
}

.overview_title {
  font-size: 3.5rem;
  color: #2C4F97;
  font-weight: 500;
  padding-top: 3.5rem;
  text-align: center;

}

.overview_title_accent {
  font-size: 2.5rem;
  color: #2C4F97;
  margin-bottom: 1rem;
}

.overview_table {
  margin: 0 auto;

}

.overview_table tr {
  padding-top: 3rem;
  padding-bottom: 1rem;
}

.overview_table th {
  font-size: 2rem;
  font-weight: 500;
  border-bottom: 0.3rem solid #2C4F97;
  padding-top: 3rem;
  padding-bottom: 1rem;
  width: 14rem;
  text-align: center;
  vertical-align: top;

}

.overview_table td {
  font-size: 2rem;
  border-bottom: 0.3rem solid #AAAAAA;
  padding-top: 3rem;
  padding-bottom: 1rem;
  padding-left: 2rem;

}

.ryousyu {
  margin-left: 2rem;
}

.map_link_color {
  color: #2C4F97;
}

/* 概要 */

/* 紹介 */
.introduction {
  padding-top: 10.1rem;
  padding-bottom: 9rem;
  width: 112rem;
  margin: 0 auto;
}

.introduction_title {
  font-size: 4.5rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 3rem;
}

.winter_link2 img {
  width: 110rem;
  height: 46.5rem;

}

.winter_link2 {
  display: block;
  margin: 0 auto 1.8rem;
  width: 110rem;
}

.introduction_title_accent {
  font-size: 2.5rem;
}

.introduction_logo {
  width: 25rem;
  height: 6.8rem;
}

.introduction_link1 {
  width: 112rem;
  height: 19rem;
  margin-bottom: 2rem;
}

.introduction_link2 {
  width: 55rem;
  height: 21.7rem;
}

.introduction_link3 {
  width: 55rem;
  height: 21.7rem;
  margin-bottom: 2rem;
}

.introduction_link4 {
  width: 112rem;
  height: 18.5rem;
}

.introduction_flex {
  display: flex;
  gap: 2rem;
}

/* 紹介 */

/* footerリンク */
.footer_link_title {
  font-size: 3rem;
  height: 8.7rem;
}

.promotion_img {
  right: -3rem;
}

/* footerリンク */
/* メイン */
.header_title_sp {
  width: 18.8rem;
  height: 4.6rem;
  margin-top: 1.1rem;

}

.mainvisual_wrap_sp {
  position: relative;
  height: 66rem;
}

.main_title_sp {
  width: 37.5rem;
  height: 33.5rem;
  position: absolute;
  top: -2.3rem;
  left: 0;
}

.mainvisual_sp {
  width: 37.5rem;
  height: 47rem;
  position: absolute;
  top: 11.2rem;
  left: 0;
  z-index: 2;

}

.main_background_sp {
  width: 66.5rem;
  height: auto;
  position: absolute;
  left: -14rem;
  top: -6rem;
  z-index: -1;
}

.click_img_sp {
  position: absolute;
  top: auto;
  bottom: 15rem;
  right: 0rem;
  z-index:5;
}

.click_img_sp img {
  width: 16.8rem;
  height: 13.6rem;
}

.image_text_sp {
  position: absolute;
  font-size: 1.4rem;
  bottom: 17rem;
  left: 1rem;
  z-index: 5;
  top: auto;
  right: auto;
  color:white;
}

/* キャンペーン */
.campaign_sp {
  height: 41.5rem;
  position: relative;
}

.campaign_bg_sp {
  position: absolute;
  z-index: 3;
  top: -17rem;
  height: 60.2rem;
}

.campaign_text_sp {
  display: flex;
  gap: 1.8rem;
  margin-bottom: 0.7rem;
  justify-content: center;
}

.left_glf_sp {
  height: 8.5rem;
  width: 17.5rem;
  position: absolute;
  top: -14rem;
  left: 1rem;
}

.center_glf_sp {
  height: 12.4rem;
  width: 36.5rem;
  position: absolute;
  margin-bottom: 2rem;
  top: -5.5rem;
  left: 0rem;
}

.right_glf_sp {
  height: 8.7rem;
  width: 16.8rem;
  position: absolute;
  top: -14.3rem;
  right: 1rem;
}

.winter_link_sp {
  display: block;
  width: 35.5rem;
  height: 5.8rem;
  border-radius: 1.6rem;
  position: absolute;
  top: 6.3rem;
  left: 1rem;
}

.winter_link_sp img {
  border-radius: 1.6rem;
}

.day_title_sp {
  font-size: 1.8rem;
  text-align: center;
  color: white;

}

.day_img_sp {
  width: 30.1rem;
  height: 3.6rem;
  margin: 0 auto 1.95rem;
  display: block;
}

.day_link_sp {
  margin-top: 15rem;
}

.day_contact_link_sp {
  width: 35.5rem;
  height: 6rem;
  display: block;
  font-size: 1.8rem;
  border-radius: 2.5rem;
  background-color: #64C747;
  color: white;
  position: relative;
  padding-top: 1.78rem;
  padding-left: 1.7rem;
  margin: 0 auto 1.6rem;
}

.day_contact_link_sp img {
  width: 2.37rem;
  height: 2.37rem;
  margin-left: 3.7rem;
  margin-right: 0.6rem;
  margin-top: 0.1rem;
}

.day_contact_accent_sp {
  position: absolute;
  font-size: 1.5rem;
  color: white;
  top: 0.9rem;
  left: 1.1rem;
  transform: rotate(-20deg);
}

.day_contact_accent_sp::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -0.5rem;
  border-left: 0.2rem solid #ffffff;
  height: 1.8rem;
  transform: rotate(-10deg);
}

.day_contact_accent_sp::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -0.5rem;
  border-left: 0.2rem solid #ffffff;
  height: 1.8rem;
  transform: rotate(10deg);
}

.day_science_link_sp {
  width: 35.5rem;
  height: 6rem;
  display: flex;
  font-size: 1.8rem;
  border-radius: 2.5rem;
  background-color: #F38B4B;
  color: white;
  position: relative;
  padding-top: 0.7rem;
  text-align: center;
  margin: 0 auto;
}

.day_science_link_sp img {
  width: 2.37rem;
  height: 3.37rem;
  margin-top: 0.3rem;
  margin-left: 2rem;
  margin-right: 1rem;
}

.day_science_accent_sp {
  position: absolute;
  font-size: 1.5rem;
  color: white;
  top: 0.5rem;
  right: 1.1rem;
  transform: rotate(16deg);
}

.day_science_accent_sp::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -0.5rem;
  border-left: 0.2rem solid #ffffff;
  height: 1.8rem;
  transform: rotate(-10deg);

}

.day_science_accent_sp::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -0.5rem;
  border-left: 0.2rem solid #ffffff;
  height: 1.8rem;
  transform: rotate(10deg);

}

.campaign_sp_index {
  z-index: 4;
  position: relative;
}

/* キャンペーン */

/* トラブル */
.trouble_sp {
  position: relative;
  height: 58.5rem;
  background-color: #9EA8BA64;
}

.trouble_title_sp {
  font-size: 1.6rem;
  text-align: center;
  padding-top: 7.5rem;
  -webkit-text-stroke: 0.5rem#ffffff;
  paint-order: stroke;
}

.trouble_title_accent_sp {
  font-size: 2rem;
  color: #2C4F97;


}

.dotto1_sp {
  width: 0.8rem;
  height: 0.6rem;
  position: absolute;
  top: 6.7rem;
  left: 13.4rem;
}

.dotto2_sp {
  width: 0.8rem;
  height: 0.6rem;
  position: absolute;
  top: 6.7rem;
  left: 15.6rem;
}

.dotto3_sp {
  width: 0.8rem;
  height: 0.6rem;
  position: absolute;
  top: 6.7rem;
  left: 17.8rem;
}

.trouble_title_border1_sp {
  width: 13rem;
  position: absolute;
  top: 11rem;
  left: 4rem;
  height: 0.2rem;
}

.trouble_title_border2_sp {
  width: 13rem;
  position: absolute;
  top: 11rem;
  left: 20rem;
  height: 0.2rem;
}

.trouble_title_border3_sp {
  width: 2.4rem;
  position: absolute;
  top: 11rem;
  right: 17.8rem;
  height: 1.4rem;
}

.trouble_point_sp {
  position: absolute;
  top: -1.6rem;
  left: 0rem;
  z-index: 3;
}

.trouble_point_img_sp {
  width: 12rem;
  height: 10.3rem;

}

.trouble_car {
  width: 10.6rem;
  height: 16.6rem;
  position: absolute;
  bottom: 11rem;
  left: 13rem;
  z-index: 3;
}

.trouble_question_sp {
  width: 11.77rem;
  height: 9.8rem;
  position: absolute;
  bottom: 13rem;
  right: 5rem;
}

.trouble_point_text_sp {
  font-size: 1.6rem;
  color: #2C4F97;
  font-weight: 600;
  position: absolute;
  top: 3rem;
  left: 2rem;
  transform: rotate(-15deg);
  z-index: 2;
  width: 8rem;
}

.trouble_point_text_sp::after {
  content: '';
  display: block;
  border-bottom: 0.7rem solid #FFFCAC;
  position: absolute;
  bottom: 0.2rem;
  width: 8.3rem;
  z-index: -1;
}

.trouble_box_sp {
  position: absolute;

}

.trouble_box_sp1 {
  top: 12.9rem;
  left: -2rem;
}

.trouble_box_sp2 {
  top: 11.8rem;
  right: -0.5rem;
}

.trouble_box_sp3 {
  top: 22rem;
  left: 8rem;
}

.trouble_box_sp4 {
  bottom: 2rem;
  left: -1rem;
  z-index: 4;
}

.trouble_box_sp5 {
  bottom: 0.6rem;
  right: -1.5rem;
}

.trouble_check_sp {
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
}

.trouble_check1_sp {
  top: 4rem;
  left: 3rem;
}

.trouble_check2_sp {
  top: 4.5rem;
  left: 1.2rem;
}

.trouble_check3_sp {
  top: 3.5rem;
  left: 3.5rem;
}

.trouble_check4_sp {
  top: 4rem;
  left: 3rem;
}

.trouble_check5_sp {
  top: 4rem;
  left: 2rem;
}

.trouble_text1_sp {
  position: absolute;
  top: 2rem;
  right: -1rem;
  font-size: 1.6rem;
  font-weight: 600;
  width: 20rem;
  text-align: center;
}

.trouble_text2_sp {
  margin-top: 2rem;
}

.trouble_text3_sp {
  margin-top: 1rem;
}

.trouble_text4_sp {
  margin-top: 1rem;
}

.trouble_text5_sp {
  margin-top: 1rem;
}

.trouble_cloud1_sp {
  width: 19.9rem;
  height: 11.5rem;

}

.triangle2 {
  height: calc(2.8rem / 2 * tan(60deg));
  width: 7rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -2.4rem;
  left: 15.9rem;
  background-color: #9EA8BA64;
}

/* トラブル */

/* 解決 */
.resolution_sp {
  position: relative;
}

.resolution_bg_sp {
  position: absolute;
  top: 0;
  left: 0;
  width: 37.5rem;
  height: 50rem;
  z-index: -1;
}

.resolution_img_sp {
  width: 25rem;
  height: 25rem;
  margin-top: 9rem;
  margin-left: 7rem;
  margin-bottom: 4rem;
}

.resolution_title_sp {
  color: #2C4F97;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.5rem;
  margin-left: 1.7rem;
}

.resolution_title_border_sp {
  width: 28.3rem;
  height: 1.8rem;
  bottom: 0.8rem;
  position: relative;
  margin-bottom: 0.9rem;
  margin-left: 1.7rem;
}

.resolution_text_sp {
  font-size: 1.6rem;
  margin-left: 1.7rem;
  margin-bottom: 0.9rem;
}

.resolution_text_accent_sp {
  font-size: 2rem;
  position: relative;
}

.resolution_text_accent_sp::after {
  content: '';
  display: block;
  width: 14rem;
  position: absolute;
  border-bottom: 0.6rem solid #FFFCAC;
  left: 1rem;
  bottom: 0.5rem;
  z-index: -1;
}

/* 解決 */
/* プロモーション */
.promotion_sp {
  position: relative;
  padding-top: 5rem;

}

.promotion_bg_sp {
  position: absolute;
  width: 39.3rem;
  height: 37.7rem;
  top: 0;
  left: 0;
}

.promotion_text_box_sp {
  width: 33rem;
  height: 32.8rem;
  margin: 0 auto;
  position: relative;

}

.promotion_img_sp {
  position: absolute;
  top: 4rem;
  right: -1rem;
  width: 8.1rem;
  height: 5.9rem;
}

.promotion_title_sp {
  font-size: 1.6rem;
  font-weight: bold;
  color: #2C4F97;
  text-align: center;
  padding-top: 1.3rem;
  padding-bottom: 0.9rem;
  background-color: #FFFCAC;
  font-family: "Zen Maru Gothic", sans-serif;
  border-radius: 1rem 1rem 0 0;
}

.promotion_title_accent_sp {
  font-size: 2.2rem;
}

.promotion_link_wrap_sp {
  background-color: white;
  border-radius: 0 0 1rem 1rem;
  padding-bottom: 3.2rem;
}

.promotion_text_sp {
  font-size: 2.5rem;
  margin-left: 0.9rem;
  color: #2C4F97;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  padding: 1rem;
}

.promotion_contact_link_sp {
  display: block;
  width: 31rem;
  height: 6rem;
  background-color: #64C747;
  padding: 1.7rem 0 1.8rem 4.5rem;
  border-radius: 2.5rem;
  color: white;
  font-size: 1.8rem;
  margin: 0 auto;
  margin-bottom: 1rem;
  position: relative;
}

.promotion_contact_logo_sp {
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  top: 2rem;
  left: 1.6rem;
}

.promotion_sience_link_sp {
  display: block;
  width: 31rem;
  height: 6rem;
  background-color: #F38B4B;
  padding: 0.7rem 0 0 3.6rem;
  border-radius: 2.5rem;
  color: white;
  font-size: 1.8rem;
  margin: 0 auto;
  line-height: 2rem;
  text-align: center;
  position: relative;
}

.promotion_sience_logo_sp {
  width: 2.4rem;
  height: 3.4rem;
  margin-right: 1rem;
  position: absolute;
  top: 1.4rem;
  left: 1.6rem;
}

/* プロモーション */

/* どんなところ */
.about_sp {
  position: relative;
  height: 76rem;
  background-color: #FFFEEB;
}

.about_bg_sp {
  position: absolute;
  top: 0;
  left: -1rem;
  width: 38rem;
  height: 76rem;
}

.about_title_wrap_sp {
  padding-top: 2.8rem;
  position: relative;
  width: 32rem;
  height: 7rem;
  margin: 0 auto 8rem;
}

.about_title_bg_sp {
  width: 32rem;
  height: 6.9rem;
}

.about_title_sp {
  position: absolute;
  top: 3rem;
  left: 3rem;
  font-size: 2rem;
  text-align: center;
  color: white;
  font-weight: 500;
}

.about_sub_title_sp {
  font-size: 2rem;
  color: #2C4F97;
  text-align: center;
  font-weight: bold;
  margin-bottom: 3rem;
  position: relative;
  z-index: 5;
}

.about_text_sp {
  font-size: 1.6rem;
  width: 32.1rem;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}

/* どんなところ */
/* 理科実験教室で育むチカラ */
.shape_sp {
  position: relative;
  height: 28.4rem;
}

.shape_text_box_sp {
  position: static;
}

.shape_bg_sp {
  position: absolute;
  height: 28.4rem;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1;

}

.shape_title_sp {
  font-size: 2.2rem;
  color: #2C4F97;
  font-weight: 500;
  text-align: center;
  padding-top: 1.8rem;
}

.shape_title_accent_sp {
  font-size: 1.6rem;
}

.shape_title_sp::before {
  content: '';
  display: block;
  position: absolute;
  top: 3rem;
  left: 4rem;
  border-left: 0.2rem solid #2C4F97;
  height: 2.5rem;
  transform: rotate(-20deg);
}

.shape_title_sp::after {
  content: '';
  display: block;
  position: absolute;
  top: 3rem;
  right: 4rem;
  border-left: 0.2rem solid #2C4F97;
  height: 2.5rem;
  transform: rotate(20deg);
}

.shape_border_sp {
  background-size: 6.5rem 0.2rem;
  background-image: linear-gradient(to right, #000000 5rem, transparent 0.5rem);
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 0.2rem;
  position: absolute;
  top: 15rem;
  left: 0;
  height: 1rem;
  width: 100%;
}

.swiper {
  margin-top: 3rem;

}

.swiper-slide {
  padding-left: 11rem;
}

.wave_sp {
  position: absolute;
  bottom: -1.6rem;
  width: 37.5rem;
  height: 3rem;
}

/* 理科実験教室で育むチカラ */

/* わくわく実験 */
.enjoy_sp {
  position: relative;
  height: 82.4rem;
}

.enjoy_sp_bg {
  position: absolute;
  width: 39.4rem;
  height: 84.5rem;
  top: -2rem;
  left: -1.3rem;
}

.enjoy_title_sp {
  width: 24.9rem;
  height: 14.5rem;
  position: absolute;
  top: -0.1rem;
  left: 0rem;
}

.enjoy_text_sp1 {
  font-size: 1.6rem;
  font-weight: bold;
  transform: rotate(5deg);
  position: absolute;
  top: 19rem;
  left: 9.3rem;
}

.enjoy_text_sp2 {
  font-size: 1.6rem;
  font-weight: bold;
  position: absolute;
  top: 29rem;
  left: 3rem;
  transform: rotate(-11deg);
}

.enjoy_text_sp3 {
  font-size: 1.6rem;
  font-weight: bold;
  position: absolute;
  top: 36.6rem;
  right: 3rem;
  transform: rotate(7deg);
}

.enjoy_text_sp4 {
  font-size: 2rem;
  font-weight: bold;
  color: #e20000;
  position: absolute;
  bottom: 14.3rem;
  right: 5.4rem;
  -webkit-text-stroke: 0.6rem#ffffff;
  paint-order: stroke;
}

/* わくわく実験 */

/* 考える */
.thinking_sp {
  position: relative;
  background-color: #FFE103;
  height: 44rem;
  padding-top: 3.9rem;
  overflow: hidden;
}

.thinking_bg_sp {
  position: absolute;
  top: 0;
  left: 0;
  width: 38rem;
  height: 48rem;
}

.thinking_title_sp {
  font-size: 1.6rem;
}

.thinking_img_sp {
  top: 9rem;
}

/* 考える */
/* 概要 */
.overview_sp {
  position: relative;
  padding: 2rem 0 2.9rem;
  background-color: #5FC2D3;
}

.overview_bg_sp {
  width: 33.5rem;
  height: 6.5rem;
  position: absolute;
  top: 1rem;
  left: 0;
}

.overview_wrap_sp {
  background-color: white;
  width: 34.5rem;
  padding: 2rem 1rem 3.2rem 1rem;
  margin: 0 auto;
  border-radius: 3rem;
}

.overview_title_sp {
  font-size: 2.5rem;
  color: #2C4F97;
  font-weight: 500;
  text-align: center;

}

.overview_title_accent_sp {
  font-size: 1.6rem;
}

.overview_table_sp th {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  border-bottom: 0.2rem solid #2C4F97;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  width: 100%;
  display: block;
}

.overview_table_sp td {
  font-size: 1.8rem;
  text-align: left;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  width: 100%;
  display: block;
}

.overview_cost_sp div {
  font-size: 1.6rem;
  margin-top: 1.2rem;
  line-height: 3rem;
}

.td_accent{
  font-size:1.6rem;
}
/* 概要 */
/* メイン */

/* フッター */
/* プロナビの紹介 */
.introduction_sp {
  padding: 5.3rem 1rem 1rem;
}

.introduction_title_sp {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 1.9rem;
}

.introduction_title_accent_sp {
  width: 14rem;
  height: 3.8rem;
}

.introduction_title_accent2_sp {
  font-size: 1.6rem;
}

.winter_link2_sp img {
  width: 35.5rem;
  height: 15rem;

}

.winter_link2_sp {
  display: block;
  margin: 0 auto 1rem;
}

.introduction_img1_sp {
  width: 35.5rem;
  height: 5.9rem;
  margin-bottom: 1rem;
}

.introduction_img2_sp {
  width: 35.5rem;
  height: 14rem;
  margin-bottom: 1rem;
}

.introduction_img3_sp {
  width: 35.5rem;
  height: 14.1rem;
  margin-bottom: 1rem;
}

.introduction_img4_sp {
  width: 35.5rem;
  height: 5.9rem;
  margin-bottom: 1rem;
}

/* プロナビの紹介 */
/* フッターリンク */
.footer_link_text_sp {
  font-size: 2rem;
  text-align: center;
}

/* フッターリンク */
/* フッター */
@media screen and (max-width:699.98px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

}