@charset "UTF-8";
/*reset---------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
  word-break: break-all;
}

table {
  border-spacing: 0px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 500;
}

a {
  text-decoration: none;
  color: #333333;
}

ul {
  list-style: none;
}

input[type=text]:focus {
  outline: 0;
}

input[type=checkbox] {
  outline: none;
  cursor: pointer;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

::-ms-expand {
  /* select要素のデザインを無効にする（IE用） */
  display: none;
}

sub {
  vertical-align: baseline;
}

input[type=text] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

input[type=radio] {
  display: none;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox]:checked + label {
  background: #ff0000;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-title {
  display: flex;
  justify-content: center;
  font-size: 3rem;
  font-weight: bold;
}

.c-text-blue {
  color: #001d60;
}

.c-text-16 {
  font-size: 1.6rem;
}

.c-text-18 {
  font-size: 1.8rem;
}

.c-text-24 {
  font-size: 2.4rem;
}

.c-text-30 {
  font-size: 3rem;
}

.c-text-34 {
  font-size: 3.4rem;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

img {
  width: 100%;
}

@media (min-width: 768px) {
  .l-section {
    padding: 80px 0;
    overflow: hidden;
  }
}
@media (max-width: 767px) {
  .l-section {
    /* padding: 60px 0; */
  }
}

.l-container {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  overflow: hidden; /* 追加 */
}
@media (min-width: 768px) {
  .l-container {
    max-width: 1260px;
    padding: 0 30px;
  }
}
@media (max-width: 767px) {
  .l-container {
    /* max-width: 940px;
    padding: 0 20px; */
  }
}

.pc_br {
  display: block; /* デフォルトで改行を表示（PC向け） */
}

@media screen and (max-width: 768px) {
  .pc_br {
    display: none; /* 768px未満（モバイルやタブレット）では改行を非表示 */
  }
}
.sp_br {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp_br {
    display: block;
  }
}
.u-margin-top-5 {
  margin-top: 5px;
}

.u-margin-top-8 {
  margin-top: 8px;
}

.u-margin-top-10 {
  margin-top: 10px;
}

.u-margin-top-15 {
  margin-top: 15px;
}

.u-margin-top-20 {
  margin-top: 20px;
}
@media screen and (max-width: 500px) {
  .u-margin-top-20 {
    margin-top: 10px;
  }
}

.u-margin-top-30 {
  margin-top: 30px;
}
@media screen and (max-width: 500px) {
  .u-margin-top-30 {
    margin-top: 15px;
  }
}

.u-margin-top-40 {
  margin-top: 40px;
}
@media screen and (max-width: 500px) {
  .u-margin-top-40 {
    margin-top: 20px;
  }
}

.u-margin-top-50 {
  margin-top: 50px;
}

.u-margin-top-60 {
  margin-top: 60px;
}
@media screen and (max-width: 500px) {
  .u-margin-top-60 {
    margin-top: 30px;
  }
}

.u-margin-top-100 {
  margin-top: 100px;
}
@media screen and (max-width: 500px) {
  .u-margin-top-100 {
    margin-top: 50px;
  }
}

.u-color-white {
  color: #ffffff !important;
}

.u-color-black {
  color: #333333 !important;
}

/* ヘッダー */
header {
  display: flex;
  justify-content: space-between;
  padding: 10px 50px;
}
@media screen and (max-width: 500px) {
  header {
    padding: 0 10px;
  }
}

.l-header {
  display: flex; /* ヘッダー全体をフレックスボックスで配置 */
  justify-content: space-between; /* 左右に要素を配置 */
  align-items: center; /* 縦方向の中央揃え */
  padding: 10px 20px; /* ヘッダーのパディング */
  background-color: #f1f1f1; /* 背景色（オプション） */
}

.l-header-left img {
  width: 30%;
}
@media screen and (max-width: 500px) {
  .l-header-left img {
    height: auto;
    width: 33%;
  }
}

.l-header-right {
  width: 70%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .l-header-right {
    display: none;
  }
}
.l-header-right ul {
  list-style-type: none; /* リストのデフォルトの点を消す */
}
.l-header-right ul li {
  display: flex;
  margin-bottom: 10px;
  justify-content: flex-end;
}
.l-header-right a {
  text-decoration: none; /* リンクの下線を消す */
  color: #333; /* リンクの色 */
  font-size: 16px; /* フォントサイズ */
  font-weight: bold; /* フォントを太字 */
  transition: background-color 0.3s ease; /* 背景色の変化をゆっくりさせる */
}
.l-header-right a:hover {
  color: #007bff; /* ホバー時の色（オプション） */
}

.l-header-right-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header-right-sp {
    display: block;
    /* ハンバーガーアイコン */
    /* ハンバーガーがクリックされたら */
    /* 
    sp-nav(ナビ)
    =================================== */
    /* ハンバーガーがクリックされたらふわっとスライドインして表示 */
    /* 
    black-bg(ハンバーガーメニュー解除用bg)
    =================================== */
    /* ハンバーガーメニューが開いたら表示 */
  }
  .l-header-right-sp .hamburger {
    position: absolute;
    right: 20px;
    width: 48px;
    height: 48px;
    cursor: pointer;
    z-index: 300;
    margin-top: 40px;
  }
  .l-header-right-sp .hamburger__line {
    position: absolute;
    width: 50px;
    height: 3px;
    right: 0;
    background-color: #000;
    transition: all 0.5s;
  }
  .l-header-right-sp .hamburger__line--1 {
    top: 1px;
  }
  .l-header-right-sp .hamburger__line--2 {
    top: 18px;
  }
  .l-header-right-sp .hamburger__line--3 {
    top: 36px;
  }
  .l-header-right-sp .open .hamburger__line--1 {
    transform: rotate(-45deg);
    top: 11px;
  }
  .l-header-right-sp .open .hamburger__line--2 {
    opacity: 0;
  }
  .l-header-right-sp .open .hamburger__line--3 {
    transform: rotate(45deg);
    top: 11px;
  }
  .l-header-right-sp .sp-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateX(-100%); /* 初期状態でメニューを画面外に隠す */
    opacity: 0; /* 初期状態は透明 */
    width: 100%; /* 出てくるスライドメニューの幅 */
    height: 100vh; /* 高さを調整 */
    background-color: #fff;
    transition: transform 0.5s, opacity 0.5s; /* スライドと透明度のアニメーション */
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .l-header-right-sp .sp-nav-ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .l-header-right-sp .sp-nav-li {
    font-size: 1.5rem;
    font-weight: 700;
  }
  .l-header-right-sp .sp-nav-contact {
    height: 42px;
    display: flex;
  }
  .l-header-right-sp .sp-nav-contact a {
    padding: 10px 50px;
    background-color: #007BFF;
    color: #fff;
    border-radius: 50px;
  }
  .l-header-right-sp .open .sp-nav {
    transform: translateY(0); /* メニューが下からスライドして出現 */
    opacity: 1; /* メニューがふわっと表示 */
  }
  .l-header-right-sp .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 5;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100;
  }
  .l-header-right-sp .open .black-bg {
    opacity: 0.3;
    visibility: visible;
  }
}

footer {
  background-color: black;
  height: 100px;
}

.l-footer-box {
  padding: 50px;
  background-color: #c2c2c2;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  .l-footer-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 50px 0;
  }
}
.l-footer-box img {
  width: 150px;
}

@media screen and (max-width: 768px) {
  .l-footer-box-left-link {
    display: flex;
    justify-content: center;
  }
}

.l-footer-box-right {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .l-footer-box-right {
    margin: 30px 0px 0;
  }
}
.l-footer-box-right p {
  color: rgb(0, 0, 0);
}

.l-footer-box01 {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .l-footer-box01 {
    margin-top: 30px;
  }
}

.sns-img {
  width: 40px !important;
  height: 40px !important;
  margin-right: 10px;
}

.sns-text {
  display: none;
}

.top-main {
  display: flex;
  justify-content: flex-start;
  position: relative;
  padding: 100px 0;
  color: black;
  overflow: hidden; /* 背景画像がはみ出さないように */
  width: 100%;
  text-shadow: -2px -2px 0 #fff, 0px -2px 0 #fff, 2px -2px 0 #fff, -2px 0px 0 #fff, 2px 0px 0 #fff, -2px 2px 0 #fff, 0px 2px 0 #fff, 2px 2px 0 #fff; /* 右下 */
  /* 背景用の共通スタイル */
  /* 最初の背景を表示 */
}
@media screen and (max-width: 768px) {
  .top-main {
    flex-direction: column;
    padding: 100px 0;
    text-shadow: -1px -1px 0 #fff, 0px -1px 0 #fff, 1px -1px 0 #fff, -1px 0px 0 #fff, 1px 0px 0 #fff, -1px 1px 0 #fff, 0px 1px 0 #fff, 1px 1px 0 #fff; /* 右下 */
  }
}
.top-main .top-main-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 2s ease-in-out;
  z-index: -1;
}
.top-main .top-main-bg:first-child {
  opacity: 1;
}
.top-main .top-main-left {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 8.5rem;
  font-weight: bold;
  width: 40%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top-main .top-main-left {
    font-size: 6.4rem;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    margin-right: 0;
    display: flex;
    align-items: center;
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .top-main .top-main-left {
    font-size: 3rem;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .top-main-right {
    padding: 0 20px;
  }
}
.top-main-right .top-main-right-text-up {
  font-size: 4rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .top-main-right .top-main-right-text-up {
    font-size: 3rem;
  }
}
.top-main-right .top-main-right-text-down {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top-main-right .top-main-right-text-down {
    font-size: 1.3rem;
  }
}

.line-up-container {
  padding: 20px;
  position: relative; /* 親要素に relative を設定 */
  overflow: hidden; /* コンテンツが外に出ないようにする */
}

.line-up-container::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 547px;
  background: linear-gradient(-29deg, rgba(0, 123, 255, 0.5) 40%, rgba(45, 137, 239, 0) 37%, rgba(255, 255, 255, 0) 80%, #ffffff 100%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 100%);
  clip-path: polygon(0% 0%, 118% 0%, 103% 94%, 40% 14%);
  z-index: -1;
  transform: scaleX(-1);
}
@media screen and (max-width: 768px) {
  .line-up-container::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    bottom: 1000px;
    background: linear-gradient(-29deg, rgba(0, 123, 255, 0.5) 40%, rgba(45, 137, 239, 0) 37%, rgba(255, 255, 255, 0) 80%, #ffffff 100%);
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 100%);
    clip-path: polygon(0% 0%, 105% 0%, 110% 108%, 40% 50%);
    z-index: -1;
    transform: scaleX(-1);
  }
}

.line-up-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(-29deg, rgba(0, 123, 255, 0.5) 40%, rgba(45, 137, 239, 0) 37%, rgba(255, 255, 255, 0) 80%, #ffffff 100%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 100%);
  clip-path: polygon(0% 0%, 103% 0%, 101% 100%, 50% 50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .line-up-container::after {
    content: "";
    position: absolute;
    top: 300px;
    left: 0;
    right: 0;
    background: linear-gradient(-29deg, rgba(0, 123, 255, 0.5) 40%, rgba(45, 137, 239, 0) 37%, rgba(255, 255, 255, 0) 80%, #ffffff 100%);
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 100%);
    clip-path: polygon(0% 0%, 103% 0%, 100% 84%, 50% 50%);
    z-index: -1;
  }
}

.line-up-box01 {
  display: flex;
  justify-content: center;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  .line-up-box01 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    margin-top: 20px;
  }
}
.line-up-box01 .line-up-box-left {
  width: 42%;
}
@media screen and (max-width: 768px) {
  .line-up-box01 .line-up-box-left {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.line-up-box01 .line-up-box-left .line-up-box-title {
  font-size: 5rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .line-up-box01 .line-up-box-left .line-up-box-title {
    font-size: 3rem;
  }
}
.line-up-box01 .line-up-box-left .line-up-box-title-sub {
  font-size: 3rem;
  font-weight: bold;
}
.line-up-box01 .line-up-box-left .line-up-box-text01 {
  font-size: 2.7rem;
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .line-up-box01 .line-up-box-left .line-up-box-text01 {
    font-size: 2rem;
    text-align: center;
    margin-top: 10px;
  }
}
@media screen and (max-width: 500px) {
  .line-up-box01 .line-up-box-left .line-up-box-text01 {
    font-size: 1.5rem;
  }
}
.line-up-box01 .line-up-box-left .line-up-box-text02 {
  font-size: 1.6rem;
  line-height: 1.93;
}
@media screen and (max-width: 768px) {
  .line-up-box01 .line-up-box-left .line-up-box-text02 {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 500px) {
  .line-up-box01 .line-up-box-left .line-up-box-text02 {
    font-size: 1.3rem;
  }
}
.line-up-box01 .line-up-box-right {
  width: 40%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .line-up-box01 .line-up-box-right {
    margin-top: 30px;
    width: 100%;
  }
}

.pc-products {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-products {
    display: none;
  }
}

.sp-products {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-products {
    display: block;
    margin-top: 10px;
  }
}

.line-up-box02 {
  display: flex;
  justify-content: center;
  justify-content: space-around;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .line-up-box02 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    margin-top: 20px;
  }
}
.line-up-box02 .line-up-box-left {
  width: 42%;
}
@media screen and (max-width: 768px) {
  .line-up-box02 .line-up-box-left {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.line-up-box02 .line-up-box-left .line-up-box-title {
  font-size: 5rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .line-up-box02 .line-up-box-left .line-up-box-title {
    font-size: 3rem;
  }
}
.line-up-box02 .line-up-box-left .line-up-box-title-sub {
  font-size: 3rem;
  font-weight: bold;
}
.line-up-box02 .line-up-box-left .line-up-box-text01 {
  font-size: 2.7rem;
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .line-up-box02 .line-up-box-left .line-up-box-text01 {
    font-size: 2rem;
    text-align: center;
    margin-top: 10px;
  }
}
@media screen and (max-width: 500px) {
  .line-up-box02 .line-up-box-left .line-up-box-text01 {
    font-size: 1.5rem;
  }
}
.line-up-box02 .line-up-box-left .line-up-box-text02 {
  font-size: 1.6rem;
  line-height: 1.93;
}
@media screen and (max-width: 768px) {
  .line-up-box02 .line-up-box-left .line-up-box-text02 {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 500px) {
  .line-up-box02 .line-up-box-left .line-up-box-text02 {
    font-size: 1.3rem;
  }
}
.line-up-box02 .line-up-box-right {
  width: 40%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .line-up-box02 .line-up-box-right {
    margin-top: 30px;
    width: 100%;
  }
}

.allure {
  margin-bottom: 100px;
}

.allure-box {
  display: flex;
  justify-content: center;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .allure-box {
    flex-direction: column;
    align-items: center;
    margin-top: 0;
    gap: 0px;
  }
}
.allure-box .allure-box01 {
  width: 42%;
}
@media screen and (max-width: 768px) {
  .allure-box .allure-box01 {
    width: 80%;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .allure-box .allure-box01 .allure-box-left {
    margin-top: 30px;
  }
}
.allure-box .last-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.allure-box .allure-title {
  font-size: 2.3rem;
  font-weight: bold;
}
.allure-box .allure-text {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .cook-img-pc {
    display: none;
  }
}

.cook-img-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .cook-img-sp {
    display: block;
  }
}

.sub-text {
  font-size: 1.3rem;
}

.contact {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact .contact-text {
  font-size: 1.5rem;
}
.contact .contact-button {
  font-size: 2rem;
  color: white;
  background-color: #007BFF;
  padding: 5px 20px;
  border-radius: 50px;
  width: 300px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease; /* 背景色の変化をゆっくりさせる */
}
@media screen and (max-width: 768px) {
  .contact .contact-button {
    width: 60%;
  }
}
.contact .contact-button:hover {
  background-color: #015cbd;
}
@media screen and (max-width: 768px) {
  .contact .contact-button:hover {
    color: white;
  }
}

/* 初期状態：フェードアウト */
.fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px); /* 少し下からフェードイン */
  transition: opacity 2s ease, transform 2s ease;
  will-change: opacity, transform;
}

/* フェードイン時 */
.fade.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); /* 元の位置に移動 */
}

/* 初期状態：フェードアウト */
.faderight {
  opacity: 0;
  visibility: hidden;
  transform: translateX(50px);
  transition: opacity 2s ease, transform 2s ease;
  will-change: opacity, transform;
}

/* フェードイン時 */
.faderight.active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0); /* 元の位置に移動 */
}

/* 初期状態：フェードアウト */
.fadeleft {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50px);
  transition: opacity 2s ease, transform 2s ease;
  will-change: opacity, transform;
}

/* フェードイン時 */
.fadeleft.active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0); /* 元の位置に移動 */
}

/* 予定カード全体のデザイン */
.schedule-card {
  max-width: 400px;
  margin: 20px auto;
  padding: 20px;
  border-radius: 12px;
  background: linear-gradient(145deg, #f6f8fa, #eaeef2);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .schedule-card {
    margin: 20px 10%;
  }
}

/* 日付スタイル */
.schedule-card .today {
  margin-bottom: 15px;
}

/* 時間帯のスタイル */
.schedule-card p {
  font-size: 1.1em;
  margin: 8px 0;
}

/* AM, PMそれぞれを強調 */
.top-am {
  font-weight: bold;
  color: #2d89ef;
}

.top-pm {
  font-weight: bold;
  color: #ef2d2d;
}

.top-calendar-container {
  display: flex;
  justify-content: center;
  padding: 10px;
}

.top-calendar {
  background: #2d89ef;
  display: flex;
  border-radius: 50px;
  color: #fff;
  font-weight: bold;
  padding: 5px 10px;
  transition: background-color 0.3s ease; /* 背景色の変化をゆっくりさせる */
}

.top-calendar:hover {
  background-color: #015cbd;
}

.news-container {
  padding: 20px;
  position: relative; /* 親要素に relative を設定 */
  overflow: hidden; /* コンテンツが外に出ないようにする */
}

.news-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(-29deg, rgba(0, 123, 255, 0.5) 40%, rgba(45, 137, 239, 0) 37%, rgba(255, 255, 255, 0) 80%, #ffffff 100%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 100%);
  clip-path: polygon(0% 0%, 103% 0%, 101% 100%, 50% 50%);
  z-index: -1;
  transform: scaleX(-1); /* 左右反転 */
}

.news-container-title {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.news-container-title h2 {
  font-weight: bold;
  margin: 0;
}

.news-container-title p {
  margin-top: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}

.news-container-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 10px; /* 画像の間隔 */
  width: 70%;
  margin: 20px auto; /* 中央寄せ */
  transition: opacity 0.3s ease; /* アニメーションで滑らかに */
}

.news-container-grid:hover {
  opacity: 0.7; /* 0〜1の値で透明度を調整（1が不透明） */
}
@media screen and (max-width: 768px) {
  .news-container-grid:hover {
    opacity: 1; /* 0〜1の値で透明度を調整（1が不透明） */
  }
}

.news-container-image {
  height: 280px;
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px; /* 角丸。不要なら削除 */
}

/* スマホ向けレスポンシブ */
@media (max-width: 768px) {
  .news-container-grid {
    width: 90%;
  }
  .news-container-title p {
    font-size: 1.4rem;
  }
  .news-container-image {
    height: 100px;
  }
}
.contact-form-container {
  max-width: 500px;
  margin: 50px auto;
  padding: 20px;
  background: #ffffff;
  /* チェックボックスがチェックされたときのスタイル (必要に応じて) */
  /* ホバー時 */
  /* ホバー時のエフェクト */
}
@media screen and (max-width: 768px) {
  .contact-form-container {
    width: 80%;
  }
}
.contact-form-container h1 {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: #333333;
}
.contact-form-container form label {
  display: block;
  font-weight: bold;
  color: #555555;
  margin-bottom: 20px;
}
.contact-form-container form input,
.contact-form-container form textarea {
  width: 93%;
  padding: 10px;
  border: 1px solid #cccccc;
  border-radius: 4px;
  font-size: 16px;
  margin-bottom: 20px;
}
.contact-form-container .radio-group,
.contact-form-container .checkbox-group {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap; /* 折り返しを有効にする */
  gap: 5px;
}
.contact-form-container .radio-group .checkbox-item,
.contact-form-container .checkbox-group .checkbox-item { /* 追加 */
  width: auto; /* デフォルトではコンテンツ幅に合わせる */
  margin-right: 15px; /* アイテム間のスペース */
  display: flex;
}
@media screen and (max-width: 768px) {
  .contact-form-container .radio-group .checkbox-item,
  .contact-form-container .checkbox-group .checkbox-item {
    width: 100%; /* SP版では1行に1つのアイテム */
    margin-bottom: 5px; /* SP版でのアイテム間のスペース */
    margin-right: 0;
  }
}
.contact-form-container .radio-group label,
.contact-form-container .checkbox-group label {
  display: inline-block;
  font-weight: normal;
}
.contact-form-container .radio-group input[type=radio],
.contact-form-container .radio-group input[type=checkbox],
.contact-form-container .checkbox-group input[type=radio],
.contact-form-container .checkbox-group input[type=checkbox] {
  width: auto;
  margin-right: 5px;
  display: block;
}
.contact-form-container input[type=checkbox]:checked + label {
  background: none;
}
.contact-form-container form button {
  width: 100%;
  padding: 10px;
  background-color: #007BFF;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
}
.contact-form-container form button:hover {
  background-color: #0056b3;
}
.contact-form-container .required {
  color: red;
}
.contact-form-container .privacy-policy {
  margin-bottom: 1rem; /* 適切な間隔を設定 */
}
.contact-form-container .privacy-policy__label {
  display: flex;
  align-items: center; /* チェックボックスとテキストを垂直方向に中央揃え */
  cursor: pointer; /* ホバー時にカーソルを変更 */
}
.contact-form-container .privacy-policy__checkbox {
  margin-right: 0.5rem; /* チェックボックスとテキストの間の間隔 */
  width: 13px; /* チェックボックスのサイズ */
  height: 17px; /* チェックボックスのサイズ */
  display: block;
  margin: 0 5px 0;
}
.contact-form-container .privacy-policy__text a {
  color: blue; /* リンクの色 */
  text-decoration: underline; /* リンクに下線を引く */
}
.contact-form-container .privacy-policy__text a:hover {
  text-decoration: none; /* ホバー時に下線を消す */
}
.contact-form-container input[type=checkbox]:checked + .privacy-policy__text::before {
  /* チェックマークのデザインなど */
}
.contact-form-container .wpcf7-form br {
  display: none;
}
.contact-form-container .wpcf7-list-item {
  display: inline-block;
}
.contact-form-container .wpcf7-list-item label {
  display: flex;
}
@media screen and (max-width: 500px) {
  .contact-form-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: flex;
    flex-direction: column;
  }
}
.contact-form-container .wpcf7-form-control.wpcf7-submit.has-spinner.submit-button {
  background-color: #007BFF;
  color: #ffffff;
  border-radius: 4px;
  border: none; /* ボーダーを取り除く場合 */
  padding: 10px 20px; /* ボタンの内側の余白 */
  cursor: pointer; /* マウスカーソルがボタン上に来たときにポインターに */
  transition: background-color 0.3s ease; /* 背景色が変わるときにアニメーションを追加 */
}
.contact-form-container .wpcf7-form-control.wpcf7-submit.has-spinner.submit-button:hover {
  background-color: #0056b3; /* ホバー時の背景色 */
}
.contact-form-container .completion-contact-item {
  margin-bottom: 20px;
}
.contact-form-container .completion-contact-item label {
  margin: 0;
  font-size: 1.8rem;
  color: #000000;
  margin-bottom: 10px;
}
.contact-form-container .completion-contact-item .radio-group {
  color: #000000;
}
.contact-form-container .wpcf7-form-control.wpcf7-previous:hover {
  background-color: #cccccc; /* ホバー時に濃いグレーにする */
}
.contact-form-container .wpcf7-form-control.wpcf7-submit {
  background-color: #007BFF;
  color: white; /* テキストを白にして見やすく */
}
.contact-form-container .wpcf7-form-control.wpcf7-submit:hover {
  background-color: #0056b3; /* ホバー時の背景色 */
}
.contact-form-container .contact-form-container {
  margin: 0;
}
.contact-form-container .inquiryCompleted {
  height: 300px;
}
.contact-form-container .inquiryCompleted-h1 {
  font-size: 2rem;
  margin-bottom: 50px;
}
.contact-form-container .inquiryCompleted-text01 {
  font-size: 1.5rem;
  text-align: center;
}
.contact-form-container .inquiryCompleted-text02 {
  font-size: 1.5rem;
  text-align: center;
}
.contact-form-container .inquiryCompleted-button {
  background-color: #007BFF;
  text-align: center;
  margin-top: 72px;
  padding: 10px;
}
.contact-form-container .inquiryCompleted-button a {
  color: white; /* テキストを白にして見やすく */
}

.privacy-container {
  display: flex;
  justify-content: center;
}
.privacy-container .privacy-inner {
  max-width: 70%;
}
@media screen and (max-width: 768px) {
  .privacy-container .privacy-inner {
    width: 90%;
  }
}
.privacy-container h1 {
  font-size: 3rem;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .privacy-container h1 {
    font-size: 2.5rem;
  }
}