@charset "utf-8";

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
}

/* 共通 */
body {
  color: #573001;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: 400;
  /* 700でボールド体 */
  font-style: normal;
  background: url(../img/hero_bg.png) top center/contain repeat-y;

  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
}

.caption {
  color: #ca8770;
  font-size: 20px;
  letter-spacing: 0.15em;
}
.ttl {
  min-height: 0vh;
  margin-top: 10px;
  line-height: 1;
  font-size: clamp(2.5rem, 2.3483rem + 0.6472vw, 3.125rem);
  /* font-size:clamp(12px,(24/750)*100vw,24px); */
}
.detail {
  margin-left: 64px;
  color: #573001;
  text-decoration: none;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.detail::before {
  content: "";
  width: 96px;
  height: 96px;
  background: #f5d9de;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 49px);
  left: -64px;
  z-index: -1;
}
.detail::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #573001;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: right top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  transition: transform 0.3s; /*変形の時間*/
}

.detail:hover::after {
  transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
  transform-origin: left top; /*左から右に向かう*/
}

/* ヘッダー */
.header {
  height: clamp(6.875rem, 4.8718rem + 4.2735vw, 10rem);
}

/* メイン */
/* .main__top-bg {
  background: url(../img/hero_bg.png) top center/contain repeat-y;
} */

/* heroエリア */
.hero__slider-sp {
  display: none;
}

/* スライダー */
.hero__slider {
  /*横幅100%で左右に余白なし*/
  width: 100%;
  margin: 0 auto;
}
.hero__slider img {
  width: clamp(45rem, 15.5115rem + 61.2748vw, 89.04125rem);
  /*スライダー内の画像をPCの大きさ*/
  height: auto;
  border-radius: 40px;
}
.hero__slider .slick-slide {
  margin: 0 40px;
  /* 左右の余白を設定 */
  /* transform: scale(0.8); */
  /*左右の画像のサイズを80%に*/
  transition: all 0.5s;
  /*拡大や透過のアニメーションを0.5秒で行う*/
  /* opacity: 0.5; */
  /*透過50%*/
}

.hero__slider .slick-slide.slick-center {
  transform: scale(1);
  /*中央の画像のサイズだけ等倍に*/
  opacity: 1;
  /*透過なし*/
}

/*ドットナビゲーションの設定*/
.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
}
.slick-dots li {
  display: inline-block;
  margin: 0 10px;
}
.slick-dots button {
  color: transparent;
  outline: none;
  width: 10px;
  /*ドットボタンのサイズ*/
  height: 10px;
  /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #9d9d9d;
  /*ドットボタンの色*/
}
.slick-dots .slick-active button {
  background: #d67f8c;
  /*ドットボタンの現在地表示の色*/
}

/* 取り組み */
.plen {
  width: min(85%, 1200px);
  margin: 0 auto;
  padding: clamp(6.25rem, 5.6641rem + 1.2174vw, 7.125rem) 0
    clamp(8.125rem, 9.3804rem + -2.6087vw, 6.25rem);
}
.plen__ttl-box {
  margin-bottom: clamp(3.75rem, 1.9087rem + 3.8261vw, 6.5rem);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
}
.plen__ttl {
  min-height: 0vh;
  margin-top: 15px;
  font-size: clamp(1.875rem, 1.038rem + 1.7391vw, 3.125rem);
}
.plen__list {
  width: min(95%, 1100px);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 85px clamp(3.125rem, -0.6413rem + 7.8261vw, 8.75rem);
}
.plen__list-box {
  /* width: 265px; */
  max-width: 265px;
  display: grid;
  grid-template:
    "img" auto
    "ttl" auto
    "desc" auto
    / auto;
}
.plen__list-ttl {
  line-height: 1;
  margin: 25px 0 30px;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  grid-area: ttl;
}
.plen__list-desc {
  line-height: 1.6;
  font-size: 20px;
  grid-area: desc;
  /* font-weight: bold; */
}
.plen__list-img-box {
  text-align: center;
  grid-area: img;
}

/* アレルギー対応のお菓子 */
.sweets {
  padding: clamp(2.1875rem, 0.3274rem + 7.9365vw, 10rem) 0
    clamp(5.46875rem, 4.6131rem + 3.6508vw, 9.0625rem);
  background: #f7f2f3;
}
.sweets__wrap {
  display: flex;
  justify-content: left;
  align-items: center;
  flex-direction: row-reverse;
  gap: 85px;
}
.sweets__box {
  width: 506px;
}
.sweets__ttl-box {
  display: flex;
  flex-direction: column-reverse;
}
.sweets__box-ttl {
  margin-top: -0.1em;
  line-height: 1.4;
}
.sweets__box-caption {
  margin-left: 8px;
}
.sweets__box-txt {
  margin: 40px 0 80px;
  line-height: 1.6;
  font-size: clamp(1rem, 0.9393rem + 0.2589vw, 1.25rem);
  /* font-weight: bold; */
}
.sweets__img-box-sp {
  display: none;
}
.sweets__img-box-pc {
  width: calc(50%);
}
.sweets__img {
  width: 100%;
}

/* 洋菓子メニュー */
.sweets__menu {
  margin-top: 90px;
  display: flex;
  justify-content: right;
}
.sweets__menu-box {
  margin-right: 45px;
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;

  /* 縦書き処理 */
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.sweets__menu-ttl {
  margin-right: 0.1em;
  margin-top: 0;
}
.sweets__menu-caption {
  margin-top: 5px;
}
.sweets__menu-item-txt {
  line-height: 1;
  margin-top: 20px;
  text-align: center;
  font-size: 20px;
  /* font-weight: bold; */
}
/* スライダー */
.sweets__menu-slider-sp {
  display: none;
}
.sweets__menu-slider {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 72.6vw;
  margin: 0;
  padding: 12px 0;
}
.sweets__menu-slider img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
  height: auto;
}
.sweets__menu-slider .slick-list {
  padding: 0 25% 0 0 !important;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.sweets__menu-slider .slick-slide {
  margin: 0 15px;
}

/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.sweets__menu-slider .slick-prev,
.sweets__menu-slider .slick-next {
  color: #653c02;
  position: absolute; /*絶対配置にする*/
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  transform: rotate(90deg);
}
.sweets__menu-slider .slick-prev {
  /*戻る矢印の位置と形状*/
  top: calc(-2em + 1px);
  left: calc(69% - 30px);
  transform: rotate(-90deg);
}
.sweets__menu-slider .slick-next {
  /*次へ矢印の位置と形状*/
  top: calc(-2em + 1px);
  left: calc(69% + (2em + 18px));
}

/* スライド枚数 */
.sweets__menu-slider .slick-num {
  margin-right: 28%;
  text-align: right;
  position: absolute;
  top: -2em;
  left: 69%;
  white-space: nowrap;
}

/* 学習支援 */
.support {
  /* background: url(../img/pc-support_bg.png) top center/cover repeat-y; */
}
.support__container {
  padding: clamp(4.21875rem, 2.247rem + 8.4127vw, 12.5rem) 0
    clamp(5.625rem, 4.7321rem + 3.8095vw, 9.375rem);
  display: flex;
  justify-content: right;
  align-items: center;
  gap: 65px;
}
.support__box {
  width: 540px;
}
.support__ttl-box {
  display: flex;
  flex-direction: column-reverse;
}
.support__ttl {
  margin-top: -0.1em;
  line-height: 1.4;
}
.support__caption {
  margin-left: 2px;
}
.support__txt {
  margin: 50px 0 115px;
  line-height: 1.6;
  font-size: 20px;
  /* font-weight: bold; */
}
.support__img-box-sp {
  display: none;
}
.support__img-box-pc {
  width: calc(50%);
}
.support__img {
  width: 100%;
  height: auto;
}

/* 建築事業 */
.architecture {
  padding: clamp(3.90625rem, 2.5298rem + 5.873vw, 9.6875rem) 0
    clamp(5.3125rem, 4.122rem + 5.0794vw, 10.3125rem);
  background: #f7f2f3;
  display: flex;
  justify-content: left;
  align-items: center;
  flex-direction: row-reverse;
  gap: 85px;
}
.architecture__box {
  width: 495px;
}
.architecture__ttl-box {
  display: flex;
  flex-direction: column-reverse;
}
.architecture__ttl {
  margin-top: -0.1em;
  line-height: 1.4;
}
.architecture__caption {
  margin-left: 2px;
}
.architecture__txt {
  margin: 50px 0 115px;
  line-height: 1.6;
  font-size: 20px;
  /* font-weight: bold; */
}
.architecture__img-box-sp {
  display: none;
}
.architecture__img-box-pc {
  width: calc(50%);
}
.architecture__img {
  width: 100%;
  height: auto;
}

/* フッター */
.footer {
  height: clamp(17.71875rem, 15.4196rem + 9.8095vw, 27.375rem);
}

/* メディアクエリ */
@media screen and (max-width: 1350px) {
  /* 共通 */
  .detail::before {
    left: calc(50% - 7.5em);
  }
  .ttl {
    min-height: 0vh;
    font-size: clamp(1.875rem, 0rem + 8vw, 3.75rem);
  }

  /* アレルギー対応のお菓子 */
  .sweets__box {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .sweets__ttl-box {
    margin-left: clamp(1.25rem, -1.0516rem + 4.7826vw, 4.6875rem);
    order: 1;
  }
  .sweets__box-txt {
    width: 80%;
    min-height: 0vh;
    margin: 0 auto;
    font-size: clamp(0.9375rem, 0rem + 4vw, 1.875rem);
    order: 3;
  }
  .sweets__box-link-area {
    margin-top: clamp(3.59375rem, 2.2115rem + 5.8974vw, 7.1875rem);
    text-align: center;
    order: 4;
    display: inline;
  }
  .sweets__img-box-sp {
    width: 90vw;
    margin: clamp(2.5rem, 1.5385rem + 4.1026vw, 5rem) auto
      clamp(2.1875rem, 1.3462rem + 3.5897vw, 4.375rem) 0;
    display: block;
    order: 2;
  }
  .sweets__img-box-pc {
    display: none;
  }

  /* 洋菓子メニュー */
  .sweets__menu {
    display: block;
  }
  .sweets__menu-box {
    margin: 0 0 clamp(1.875rem, 1.1538rem + 3.0769vw, 3.75rem)
      clamp(1.25rem, -1.0516rem + 4.7826vw, 4.6875rem);

    /* 横書きに変更 */
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
  }

  /* 洋菓子メニュー スライド */
  .sweets__menu-slider-sp {
    display: block;
  }
  .sweets__menu-slider-pc {
    display: none;
  }
  .sweets__menu-slider {
    width: 100%;
  }
  .sweets__menu-slider .slick-list {
    padding: 0 !important;
  }
  .sweets__menu-slider img {
    width: max(40vw, 250px);
  }
  .sweets__menu-slider .slick-dots button {
    width: 15px;
    height: 15px;
  }

  /* 学習支援 */
  .support {
    display: block;
  }
  .support__box {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .support__ttl-box {
    margin-left: clamp(1.25rem, -1.0516rem + 4.7826vw, 4.6875rem);
    order: 1;
  }
  .support__txt {
    width: 79%;
    min-height: 0vh;
    margin: 0 auto;
    font-size: clamp(0.9375rem, 0rem + 4vw, 1.875rem);
    order: 3;
  }
  .sweets__box-link-area {
    margin-top: clamp(3.59375rem, 2.2115rem + 5.8974vw, 7.1875rem);
    text-align: center;
    order: 4;
    display: inline;
  }
  .support__img-box-sp {
    width: 90vw;
    margin: clamp(2.5rem, 1.5385rem + 4.1026vw, 5rem) 0
      clamp(2.1875rem, 1.3462rem + 3.5897vw, 4.375rem) auto;
    text-align: right;
    display: block;
    order: 2;
  }
  .support__img-box-pc {
    display: none;
  }

  /* 建築事業 */
  .architecture {
    display: block;
  }
  .architecture__box {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .architecture__ttl-box {
    margin-left: clamp(1.25rem, -1.0516rem + 4.7826vw, 4.6875rem);
    order: 1;
  }
  .architecture__txt {
    width: 79%;
    min-height: 0vh;
    margin: 0 auto;
    font-size: clamp(0.9375rem, 0rem + 4vw, 1.875rem);
    order: 3;
  }
  .architecture__box-link-area {
    margin-top: clamp(3.59375rem, 2.2115rem + 5.8974vw, 7.1875rem);
    text-align: center;
    order: 4;
    display: inline;
  }
  .architecture__img-box-sp {
    width: 90vw;
    margin: clamp(2.5rem, 1.5385rem + 4.1026vw, 5rem) auto
      clamp(2.1875rem, 1.3462rem + 3.5897vw, 4.375rem) 0;
    display: block;
    order: 2;
  }
  .architecture__img-box-pc {
    display: none;
  }
}

/* SPメディアクエリ */
@media screen and (max-width: 768px) {
  /* 共通 */
  body {
    background: url(../img/sp-hero_bg.png) top center/contain repeat-y;
  }
  .sp-none {
    display: none;
  }

  .header {
    height: 110px;
  }

  /*　heroエリア */
  .hero__slider-pc {
    display: none;
  }
  .hero__slider-sp {
    display: block;
  }

  /* heroスライドショー */
  .hero__slider img {
    width: 88vw;
  }

  /* ボタン */
  .slick-dots button {
    width: 15px;
    height: 15px;
  }
  .slick-dots li {
    display: inline-block;
    margin: 0 20px;
  }

  /* 取り組み */
  .plen__list-box {
    max-width: 420px;
  }

  .plen {
    padding: 10.67vw 0 15.33vw;
  }
  .caption {
    font-size: clamp(12px, 3.2vw, 24px);
  }
  .plen__ttl {
    text-align: center;
    font-size: clamp(30px, 8vw, 60px);
  }
  .plen__list-ttl {
    margin: 4vw 0 2.5vw;
  }
  .plen__list-desc {
    line-height: 1.33;
    font-size: clamp(15px, 4vw, 30px);
  }
  .plen__list {
    gap: 8.67vw;
  }
  .plen__ttl-box {
    margin-bottom: 4vw;
  }
  .sweets__box-link-area {
    margin-top: 17.33vw;
  }
  .sweets__menu {
    margin-top: 17.33vw;
  }
  .architecture__box-link-area {
    margin-top: 19.33vw;
  }
}
