/*------------------------------------------------------------
共通項目
------------------------------------------------------------*/

/* ヘッダータイトル */
.headertitle {
  padding: 40px 0;
  text-align: center;
  width:500px;
  margin-left:auto;
  margin-right:auto;
  /* margin-top:45px; */
}

.headertitle2 {
  padding: 70px 0;
  text-align: center;
  width:500px;
  margin-left:auto;
  margin-right:auto;
  margin-top:45px;
}

@media (max-width: 768px) {
.headertitle {
  text-align: center;
  width:90%;
  margin-top:60px;
  padding: 20px 0;
}
.headertitle2 {
  text-align: center;
  width:90%;
  margin-top:50px;
  padding: 40px 0;;
}
}

/* ヘッダータイトル 背景色*/
.headorange {
  background-color: rgba(236, 128, 34, 0.85); /* オレンジ + 85%不透明 */
}

.headgreen {
  background-color: rgba(127, 179, 64, 0.85); /* グリーン + 85%不透明 */
}

.headred {
  background-color: rgba(212, 95, 94, 0.85); /* 赤 + 85%不透明 */
}

.headblue {
  background-color: rgba(56, 164, 205, 0.85); /* 赤 + 85%不透明 */
}

.headbrown {
  background-color: rgba(121, 96, 67, 0.85); /* 赤 + 85%不透明 */
}

.headertitle h2 {
  font-size: 28px;
  color: white;
  margin-bottom: 10px;
  font-weight: bold;
}

.headertitle2 h2 {
  font-size: 28px;
  color: white;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .headertitle h2 {
    font-size: 22px;
  }

  .headertitle2 h2 {
    font-size: 22px;
  }
}

.head-buttons {
  display: inline-flex;
  gap: 20px;
  justify-content: center;
}

.h-btn {
  display: inline-block;
  width:100px;
  padding: 10px 24px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #ccc;
  border: 4px solid transparent;
  transition: 0.3s ease;
}

.btn-blue {
  background-color: #e6f3ff;
  border-color: #6cb6f8;
  color: #3391e4;
}

.btn-green {
  background-color: #eaffea;
  border-color: #94d274;
  color: #5ca742;
}


.tx-red{
color:#ff0000;
}
.tx-orange{
color:#E37508;
}

.tx-center{
text-align:center;
}

.tx-left{
text-align:left;
}

.tx12{
font-size:12px;
line-height:1.6em;
}

.tx14{
/* font-size:14px; */
font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
line-height:1.6em;
}

@media screen and (max-width: 768px) {
  .head-buttons {
    gap: 7.5px;
  }
  .h-btn {
    padding: 7.5px 20px;
  }
}



/*----------------------- youtube --------------------------*/
.youtube {
  width: 50%;
  aspect-ratio: 16 / 9;
  margin:0 auto;
  padding:30px 0;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

.youtube80 {
  width: 80%;
  aspect-ratio: 16 / 9;
  margin:0 auto;
  padding:50px 0 0 0;
}
.youtube80 iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
.youtube {
  width: 90%;
}
.youtube80 {
  width: 90%;
}
}

/*------------------------------------------------------------
notes
------------------------------------------------------------*/

.notes {
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.5;
}

/*------------------------------------------------------------
mv 共通
------------------------------------------------------------*/

.common-mv {
  height:405px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom:50px;
  box-sizing: border-box;
  background-size: cover;
  background-repeat: no-repeat;
  background-position:center;     /* 真ん中に寄せる */
  z-index: 0;
  width:100%;
}

@media (max-width: 768px) {
  .common-mv {
    height: 340px;
  }
}

/*------------------------------------------------------------
福祉施設ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-well {
  background-image: url('../welfare/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-well {
  background-image: url('../welfare/img/main_bg_sp.png');
}
}



/*----------------------- 説明セクション --------------------------*/
.ex-section {
  background: url('../welfare/img/ex_bg.png') no-repeat center center;
  background-size: cover;
  padding: 70px 20px 80px 20px;
  text-align: center;
}

@media (max-width: 768px) {
  .ex-section {
    background: url('../welfare/img/ex_bg_sp.png') no-repeat center center;
    background-size: cover;
    padding: 80px 20px;
    text-align: center;
  }
}

.ex-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  border-radius: 8px;
}

.ex-inner h2 {
  /* font-size: 32px; */
  color: #ec8022;
}
@media (max-width: 768px) {
  .ex-inner {
    padding: 40px 10px;
  }
}


.ex-subtitle {
  /* font-size: 1rem; */
  /* font-size: 20px; */
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  font-weight: 900;
  color: #333;
  margin-bottom: 1.5rem;
}

.catch .lead {
  /* font-size: 1.3rem; */
  /* font-size: 32px; */
  font-size: clamp(1.25rem, 1.1rem + 0.75vw, 2rem);
  margin: 0.3em 0;
  /* font-weight: bold; */
  font-weight: 700;
}

.catch .lead2 {
  font-size: 20px;
  margin: 0.3em 0;
  /* font-weight: bold; */
  font-weight: 700;
}

.ex-description {
  color: #444;
  line-height: 2;
  /* margin: 1.5em 0 2em; */
  /* font-size:14px; */
  margin: 1.5em 0 3em;
  font-size: 16px;
}

.button-group {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}



/*----------------------- merit-sectionセクション --------------------------*/
.contents-merit-section {
  background: url('../welfare/img/merit_bg.png') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  color: #333;
}

.contents-merit-inner {
  /* max-width: 1100px; */
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.contents-merit-inner h2 {
  /* font-size: 32px;
  color: #EA7806; */
  margin-bottom: 0px;
}

.contents-merit-subtitle {
  /* font-size: 15px; */
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 40px;
  position: relative;
}

.contents-merit-subtitle::after {
  content: "";
  display: block;
  width: 160px;
  height: 2px;
  background-color: #333;
  margin: 25px auto 0;
}

.contents-merit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* gap: 20px; */
  gap: 40px;
  width: 100%;
}

/* 共通ボックススタイル */
.contents-merit-box {
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* 奇数ボックス：Merit 1, 3, 5 */
.contents-merit-box:nth-child(odd) {
  background-color: #6da395;
  color: #fff;
}

.contents-merit-box:nth-child(odd) h3 {
  color: #fff;
}

/* 偶数ボックス：Merit 2, 4, 6 */
.contents-merit-box:nth-child(even) {
  background-color: #fff;
  color: #000;
}

.contents-merit-box:nth-child(even) h3 {
  color: #6da395;
}

.contents-merit-box h3 {
  /* font-size: 16px; */
  font-size: 22px;
  margin-bottom: 10px;
}

.contents-merit-box p {
  /* font-size: 14px; */
  line-height: 1.6;
}
.contents-merit-box span {
  font-size: 16px;
}
.contents-merit-box .uline{
text-decoration: underline;
}

/* モバイル対応 */
@media screen and (max-width: 768px) {
  .contents-merit-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media screen and (max-width: 560px) {
  .contents-merit-grid {
    grid-template-columns: 1fr;
  }
}

.contents-merit-boxB {
  padding: 40px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  background-color: #0086AF;
  color: #fff;
}

.contents-merit-boxB h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

.contents-merit-boxB p {
  font-size: 15px;
  line-height: 1.6;
}
.contents-merit-boxB .uline{
text-decoration: underline;
}

.contents-merit-boxG {
  padding: 40px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  background-color: #7E8D6D;
  color: #fff;
}

.contents-merit-boxG h3 {
  font-size: 16px;
  margin-bottom: 10px;
}

.contents-merit-boxG p {
  font-size: 14px;
  line-height: 1.6;
}
.contents-merit-boxG .uline{
text-decoration: underline;
}


.contents-merit-boxN img{
  padding: 0px;
  text-align: center;
  width:100%;
}


.contents-merit-gridW {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0 auto;
}

/* 共通ボックススタイル */
.contents-merit-boxW {
  background-color: #fff;
  color: #000;
  padding: 40px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  width: 90%;
  box-sizing: border-box;
}

.contents-merit-boxW h3 {
  color: #E37508;
  /* font-size: 18px; */
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  margin-bottom: 10px;
}

.contents-merit-boxW p {
  /* font-size: 14px; */
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
  line-height: 1.6;
}

.contents-merit-boxW .uline {
  text-decoration: underline;
}

/* PCレイアウト */
@media screen and (min-width: 768px) {
  .contents-merit-boxW {
    width: 30%;
  }

  /* Merit 4と5のみ中央寄せ */
  .contents-merit-boxW:nth-child(4),
  .contents-merit-boxW:nth-child(5) {
    width: 30%;
  }

  .contents-merit-boxW:nth-child(4) {
    margin-left: auto;
  }

  .contents-merit-boxW:nth-child(5) {
    margin-right: auto;
  }
}



/*----------------------- 帯付き背景content-sectionセクション --------------------------*/

/* オレンジの縦帯 */
.background-stripe {
  position: absolute;
  top: 0;
  bottom: 100px; /* 下に100px空ける */
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  z-index: 0;
}

.line-orange{
  background-color: #E37508;
}

.line-green{
  background-color: #89B340;
}
.line-red{
  background-color:#D45F5E;
}
.line-blue{
  background-color:#1B99C9;
}



/* コンテンツセクション全体 */
.content-section {
  position: relative;
  width: 100%;
  padding: 60px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 60px; /* 各グループの間隔 */
}

.content-section2 {
  position: relative;
  width: 100%;
  padding: 0px 20px 60px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 60px; /* 各グループの間隔 */
}

.content-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}


/* 影付きメインコンテンツボックス */

.content-box2 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #fbe7d4;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box3 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #F0C391;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box4 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #F4D1CB;
  /* padding: 50px; */
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box5 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #EBF8D2;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box6 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #E8DFCA;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box6 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #FAF8C5;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box7 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  /* background-color: #CDE2EA; */
  background-color: #EFFAFF;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}

.content-box8 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 900px; */
  max-width: 1200px;
  background-color: #EDF8D9;
  /* padding: 50px; */
  padding: 60px;
  box-sizing: border-box;
}


@media screen and (max-width: 768px) {
  .content-box7 {
    padding: 30px;
  }
}

@media screen and (max-width: 480px) {

  .content-box2 {
    padding: 20px;
  }
  .content-box3 {
    padding: 20px;
  }
  .content-box4 {
    padding: 20px;
  }
  .content-box5 {
    padding: 20px;
  }
  .content-box6 {
    padding: 20px;
  }
  .content-box7 {
    padding: 20px;
  }

  .content-box8 {
    padding: 20px;
  }
}
/* QA等背景色なし */
.content-box9 {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  padding: 0px;
  box-sizing: border-box;
}

.content-box10 {
  position: relative;
  z-index: 2;
  width: 100%;
  /* max-width: 1000px; */
  max-width: 1200px;
  background-color: #E6E6E6;
  padding: 30px;
  box-sizing: border-box;
}

/* 影ボックス */
.content-shadow-box {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 1;
  pointer-events: none;
}


/* タイトル */
.content-group h2 {
  /* color: #f28c28;
  font-size: 32px; */
  margin-bottom: 10px;
  text-align: center;
}

.subtitle {
  margin: 0 0 20px;
  /* font-size: 15px; */
  /* font-size: 20px; */
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  font-weight: 900;
}

/* メインセクション（画像と説明） */
.main-section {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 30px 0;
}

.main-section2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0px;
}

.main-text {
  flex: 1 1 300px;
  padding-right: 30px;
  text-align:center;
}

.main-text .discp{
  text-align:left;
  line-height:2;
}

.main-text .discp2{
  text-align:center;
  line-height:2;
}

.main-text h3 {
  font-size: 21px;
  margin-bottom: 25px;
  margin-top:25px;
}

.main-text2 {
  /* flex: 1 1 300px; */
  flex: 1 1 301px;
  padding-right: 30px;
  text-align:center;
}

.main-text2 h3 {
  /* font-size: 21px; */
  /* font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem); */
  font-size: clamp(1.8rem, 1.3273rem + 0.7273vw, 2.2rem);
  margin-bottom: 25px;
  margin-top:0px;
}

.main-text2 .discp2{
  text-align:left;
  line-height:2;
  /* font-size:14px; */
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
}

.main-image {
  flex: 1 1 300px;
  text-align: center;
}

.main-image img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 1660px) {
  .main-text2 {
    flex: 1 1 280px;
  }
}

@media screen and (max-width: 1460px) {
  .main-text2 {
    flex: 1 1 260px;
  }
}
@media screen and (max-width: 1040px) {
  .main-text2 h3 {
    font-size: clamp(1.2rem, -0.4667rem + 3.3333vw, 1.7rem);
  }
}

@media screen and (max-width: 768px) {
  .main-text {
    flex: 1;
    text-align:center;
    padding-bottom:20px;
  }
  .main-image {
    flex: 1;
    text-align: center;
  }
  .main-text2 {
    padding-right: 0;
  }
  .main-text2 h3 {
    font-size: clamp(1.4rem, 0.4rem + 2vw, 1.7rem);
  }
  .main-text2 .discp2 {
    margin-bottom: 15px;
  }
}

/* 献立枠と説明 */
.kondate-box {
  display: flex;
  justify-content: center; /* 中央揃え */
  align-items: center;
  margin: 20px auto;
  width: fit-content;
  gap: 12px;
}

.kondate-label {
  border: 1px solid #796042;
  background-color:#fff;
  color:#796042;
  padding: 8px 14px;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
}

.kondate-text {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.6;
  text-align:left;
}

.kondate-box2 {
  display: flex;
  justify-content: flex-start; /* 左揃え */
  align-items: center;
  margin: 10px 0 0 0;
  width: fit-content;
  gap: 12px;
}


/* 単品・オプションセクション */
.features {
  display: flex;
  gap: 35px;
  flex-wrap: wrap;
  align-items: center;
}

.feature-item {
  /* display: flex;
  flex: 1 1 45%;
  gap: 10px;
  align-items: flex-start; */
  flex: 1 1 45%;
}
.feature-img {
  width: 100%;
}
.feature-img img {
  /* max-width: 100%; */
  height: auto;
  width: 100%;
}

.label3 {
  /* font-size: 16px; */
  font-size: clamp(0.875rem, 0.775rem + 0.5vw, 1.375rem);
  font-weight: bold;
  display: inline-block;
  padding: 6px 12px;
  color: #fff;
  width: 150px;
  text-align: left;
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
}

.label3.green3 {
  background-color: #a3c844;
}

.label3.green4 {
  background-color:#89B340;
}

.label3.unber3 {
  background-color: #BA6666;
}

.label3.orange3 {
background-color: #F0BA42;
}

.label3.orange4 {
background-color:#F07842;
}

.label3.transC {
background-color: transparent;
}

.txC{
text-align:center;
}

.full-line {
  width: 100%;
  height: 1px;
  background-color: #000;
  margin:40px 0;
}

.full-line10 {
  width: 100%;
  height: 1px;
  background-color: #000;
  margin:10px 0;
}


.event-title-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

.event-title h2 {
  /* font-size: 32px;
  color: #f47c00; */
  margin-bottom: 8px;
  line-height:1.2em;
}

.event-title p {
  /* font-size: 15px; */
  font-size: clamp(0.875rem, 0.8rem + 0.375vw, 1.25rem);
  font-weight: 900;
  position: relative;
}

.event-title p::after {
  content: "";
  display: block;
  width: 120px;
  height: 2px;
  background: #000;
  margin: 25px auto 0;
}

.illust-e {
  height: 80px;
  width: auto;
}





/* モバイル対応 */
@media screen and (max-width: 768px) {
  .main-section,
  .features {
    /* flex-direction: column; */
    display: block;
  }


  .feature-item {
    /* flex-direction: column; */
    display: block;
  }

.event-title-wrap {
  /* flex-direction: column; */
  display: block;
}

  .main-text,
  .main-image,
  .feature-text {
    padding-right: 0;
  }
  .illust-e {
width:100%;
  height: 100%;
  width: auto;
}
.illust-e img{
width:100%;
  height: 100%;
  width: auto;
}
}



/*------------------------------------------------------------
療養食ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-medical {
  background-image: url('../medical/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-medical {
  background-image: url('../medical/img/main_bg_sp.png');
}
}

/*----------------------- 説明セクション --------------------------*/
.ex-section-medical {
  background: url('../medical/img/ex_bg.png') no-repeat center center;
  background-size: cover;
  padding: 30px 20px;
  text-align: center;
}

@media (max-width: 768px) {
.ex-section-medical {
  background: url('../medical/img/ex_bg_sp.png') no-repeat center center;
  background-size: cover;
  padding: 80px 20px;
  text-align: center;
}
}

/*----------------------- merit-sectionセクション --------------------------*/
.contents-merit-section-medical {
  background: url('../medical/img/merit_bg.png') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  color: #333;
}


/*----------------------- content-sectionセクション --------------------------*/
.feature-list {
  margin-bottom: 20px;
}
.feature-list > li {
  font-weight: 700;
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  text-indent: -1em;
  margin-left: 1em;
  margin-top: 0.5em;
  line-height: 1.5;
}

.feature-B{
font-weight:bold;
font-size:16px;
line-height:1.8;
margin-top:30px;
}

.feature-S{
margin-top:20px;
/* font-size:14px; */
line-height:1.8;
}
.feature-S + .notes {
  margin-top:20px;
  margin-bottom:20px;
}
.capR{
font-size:12px;
text-align:right;
margin-top:20px;
}


/*------------------------------------------------------------
ムース食ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-mousse {
  background-image: url('../mousse/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-mousse {
  background-image: url('../mousse/img/main_bg_sp.png');
}
}

/*----------------------- 説明セクション --------------------------*/
.ex-section-mousse {
  background: url('../mousse/img/ex_bg.png') no-repeat center center;
  background-size: cover;
  padding: 40px 20px;
  text-align: center;
}

@media (max-width: 768px) {
.ex-section-mousse {
  background: url('../mousse/img/ex_bg_sp.png') no-repeat center center;
  background-size: cover;
  padding: 80px 20px;
  text-align: center;
}
}


/*----------------------- 説明セクション --------------------------*/

.ex2-inner {
    background: url('../mousse/img/ex2_bg.png') no-repeat center center;
    background-size:contain;
  /* max-width: 1100px;
  margin: 0 auto;
  padding: 60px 20px; */
  max-width: 1400px;
  margin: 0 auto 60px;
  padding: 40px 20px 0;
}
.ex2image{
/* max-width:1000px; */
max-width: 1200px;
margin:0 auto;
}
.ex2image img{
width:100%;
}

@media (max-width: 768px) {
.ex2-inner {
    background: url('../mousse/img/ex2_bg-sp.png') no-repeat center center;
    background-size:cover;
  max-width: 100%;
  margin-bottom:30px;
  padding: 60px 20px;
}

.ex2image{
width:90%;
margin:0 auto;
}
}

/*----------------------- merit-sectionセクション --------------------------*/
.contents-merit-section-mousse {
  background: url('../mousse/img/merit_bg.png') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  color: #333;
}

.illust-m {
  height: 60px;
  width: auto;
}
@media (max-width: 768px) {
.illust-m {
  height: 40px;
  width: auto;
}
}

.girlimg{
width:70%;
margin:0 auto;
}

/*----------------------- 1 day’s worth　セクション --------------------------*/
.one-days .content-box6 {
  background-color: #E8DFCA;
  box-shadow: 15px 15px 0 rgba(0,0,0,0.25);
}

.set-list {
  text-align: left;
}

.set-item {
  padding-left: 1em;
  margin: 1em 0;
}

.set-item span.emphasis {
  font-weight: 700;
  display: block;
}

.set-item span.emphasis::before {
  content: "●";
  display: inline-block;
  text-indent: -1em;
}

.set-item-detail {
  list-style: none;
  counter-reset: list-counter;
  /* padding-left: 2.5em; */
}

.set-item-detail li {
  position: relative;
  /* margin-bottom: 1em; */
  padding-left: 2em; /* マーカー分の余白を取る */
  counter-increment: list-counter;
  margin-top: 0.5em;
}

.set-item-detail li::before {
  content: "（" counter(list-counter) "）";
  position: absolute;
  left: -0.5em;
  top: 0;
  width: 2em;
  display: inline-block;
}

/*----------------------- caption-sectionセクション --------------------------*/
.caption-section{
max-width: 1200px;
margin:0 auto;
}

.caption-inner{
padding:3%;
}

.captxt{
font-size:18px;
font-weight:bold;
margin-bottom:8px;
}
.captxt span{
color:#E37508;
}

.caption-list {
  margin: 1em 0;
}

.caption-list li {
  text-indent: -1em;
  padding-left: 1em;
  margin: 0.5em 0;
}

@media (max-width: 768px) {
.caption-inner{
padding:7%;
}
}



/*------------------------------------------------------------
障害者向け施設ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-handicap {
  background-image: url('../handicap/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-handicap {
  background-image: url('../handicap/img/main_bg_sp.png');
}
}

/*----------------------- 説明セクション --------------------------*/
.ex-section-handicap {
  background: url('../handicap/img/ex_bg.png') no-repeat center center;
  background-size: cover;
  padding: 40px 20px;
  text-align: center;
}

@media (max-width: 768px) {
.ex-section-handicap {
  background: url('../handicap/img/ex_bg_sp.png') no-repeat center center;
  background-size: cover;
  padding: 80px 20px;
  text-align: center;
}
}

/*----------------------- merit-sectionセクション --------------------------*/
.contents-merit-section-handicap {
  background: url('../handicap/img/merit_bg.png') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  color: #333;
}


/*------------------------------------------------------------
提供方法ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-howto {
  background-image: url('../howto/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-howto {
  background-image: url('../howto/img/main_bg_sp.png');
}
}

/*----------------------- mv下説明パート --------------------------*/
.how-to-provide {
  display: flex;
  flex-wrap: wrap;
  /* max-width: 1000px; */
  max-width: 1200px;
  margin: 0 auto;
  padding:80px 0;
}

.text-section {
  width: 60%;
  padding: 20px 50px 20px 20px;
  box-sizing: border-box;
}

.text-section h2 {
  /* font-size: 32px;
  color: #ec8022; */
  text-align:center;
}

.text-section p{
font-size:15px;
  line-height:2em;
}

.ex-subtitleC {
  /* font-size: 1rem; */
  font-size: 20px;
  font-weight: 900;
  color: #333;
  margin-bottom: 1.5rem;
  text-align:center;
}

.image-section {
  width: 40%;
  box-sizing: border-box;
}

.image-section img {
  width: 100%;
  height: auto;
  display: block;
}


.shadow-box-title {
  width: 100%;
  margin: 30px 0;
}
.shadow-box-title .shadow-box-label {
  max-width: 650px;
}


@media (max-width: 768px) {
  .text-section,
  .image-section {
    width: 100%;
    padding: 20px;
  }

}

/*----------------------- warmup-sectionセクション --------------------------*/
.warmup-section {
  background: url('../howto/img/warmup_bg.png') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  color: #333;
}

.warmup-image{
    /* max-width:1000px; */
    max-width:1200px;
    margin:0 auto;
    padding:50px 0;
}
.warmup-image img{
    width:100%;
}


/*----------------------- flow-sectionセクション --------------------------*/
/* 全体背景と中央寄せ */
.flow-section {
  /* background: url('../howto/img/flow_line.png') no-repeat center center;
  background-size: cover; */
  /* padding: 50px 0px 50px 0; */
  padding: 50px;
  position: relative;
}

.flow-section::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 25.5%;
  left: 0;
  top: 41%;
  background-color: #FDE182;
}

.flow-inner{
  /* max-width:1100px; */
  max-width:1200px;
  margin: 0 auto;
  /* padding: 0 25px; */
}


.flow-steps {
  display: flex;
  align-items: flex-start;
  /* justify-content: center; */
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

/* 各ステップ */
.step {
  /* width: 30%; */
  width: calc(100% / 3 - 30px);
  text-align: center;
  position: relative;
}

.step:not(:last-of-type) .step-img::before {
  content: "";
  display: block;
  position: absolute;
  border-style:solid;
  border-color:transparent transparent transparent #E37508;
  border-width: 30px 25px;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
}

.step-img {
  position: relative;
}

.step-img img {
  width: 100%;
  height: auto;
  display: block;
}

.step-number {
  position: absolute;
  top: 0px;
  left: 0px;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  /* padding: 4px 8px; */
  padding: 0.75em;
  font-weight: bold;
  /* font-size: 16px; */
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
  line-height: 1;
}

.step-caption{
/* font-size:13px; */
font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
text-align:left;
padding:10px 0;
}

/* 矢印 */
.arrow {
  font-size: 24px;
  color: orange;
  align-self: center;
}

/* スマホレイアウト */
@media (max-width: 797px) {
  .flow-section::before {
    height: 21.5%;
    top: 40%;
  }
}

@media (max-width: 768px) {
.flow-section::before {
  display: none;
}
.step:not(:last-of-type) .step-img::before {
  display: none;
}
.flow-section {
  background: none;
  padding: 50px 0px;
}
.flow-inner{
  width: 90%;
}

  .flow-steps {
    flex-direction: column;
    align-items: center;
  }

  .step {
    width: 100%;
    margin-bottom: 40px;
  }
  .step:not(:last-of-type)::before {
    content: "";
    display: block;
    position: absolute;
    border-style:solid;
    border-color:#E37508 transparent transparent transparent ;
    border-width: 25px 30px;
    left: 50%;
    bottom: -60px;
    transform: translateX(-50%);
  }
  .arrow {
    transform: rotate(90deg); /* ▶ を ▼ に */
    margin: 10px 0;
  }
}


/*------------------------------------------------------------
技術紹介ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-tec {
  background-image: url('../technology/img/main_bg.png');
  height:400px;
}
@media (max-width: 768px) {
#mv-tec {
  background-image: url('../technology/img/main_bg_sp.png');
}
}

/*----------------------- 説明セクション --------------------------*/
.ex-section-tec {
  background: url('../technology/img/ex_bg.png') no-repeat center center;
  background-size: cover;
  padding: 40px 20px;
  text-align: center;
}

@media (max-width: 768px) {
.ex-section-tec {
  background: url('../technology/img/ex_bg_sp.png') no-repeat center center;
  padding: 80px 20px;
  text-align: left;
}
}


.shadow-box-label {
  color: #fff;
  display: inline-block;
  padding: 15px 25px 17.5px;
  background-color: #6C6857;
  border-radius: 10px;
  line-height: 1;
  font-size: clamp(1rem, 0.5313rem + 1.5vw, 1.375rem);
  font-weight: 700;
  box-shadow: 10px 10px 0 rgba(0,0,0,0.25);
  box-sizing: border-box;
  width: 100%;
}



/*------------------------------------------------------------
当社が選ばれる理由ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-reason {
  background-image: url('../reason/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-reason {
  background-image: url('../reason/img/main_bg_sp.png');
}
}

/*----------------------- 説明セクション --------------------------*/
.ex-section-reason {
  background: url('../reason/img/ex_bg.png') no-repeat center center;
  background-size: cover;
  padding: 40px 20px;
  text-align: center;
}

@media (max-width: 768px) {
.ex-section-reason {
  background: url('../reason/img/ex_bg_sp.png') no-repeat center center;
  padding: 80px 20px;
  text-align: center;
}
}


/*----------------------- merit-section（point）セクション --------------------------*/
.contents-merit-section-reason {
  background: url('../reason/img/point_bg.png') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  color: #333;
}

.contents-point-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.contents-point-inner h2 {
  /* font-size: 36px; */
  color: #fff;
  margin-bottom: 0.2em;
}

.contents-point-subtitle {
  font-size: 15px;
  margin-bottom: 30px;
  position: relative;
  color: #fff;
}

.contents-point-subtitle::after {
  content: "";
  display: block;
  width: 150px;
  height: 2px;
  background-color: #E37508;
  margin-top: 20px;
  margin-bottom: 40px;
  margin-left:auto;
  margin-right:auto;
}



/*----------------------- pointセクション --------------------------*/
.point-section{
padding:100px 0;
}

.point-sectionbox {
  /* max-width: 1000px; */
  max-width: 1200px;
  margin: 0 auto;
}

.point-block {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #000;
  padding: 0px 0;
  align-items: center;
}

.point-block.last {
  border-bottom: 1px solid #000;
}

.point-image {
  width: 100%;
  max-width: 40%;
  flex: 1 1 40%;
  padding: 0 10 0 0px;
}

.point-image img {
  width: 100%;
  height: auto;
  display: block;
}

.point-text {
  width: 100%;
  max-width: 60%;
  flex: 1 1 60%;
  padding: 50px;
  box-sizing: border-box;
}

.point-label {
  display: inline-block;
  background: #e37508;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  margin-bottom: 10px;
}

.point-text h3 {
  margin-top: 0;
  /* font-size: 20px; */
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  margin: 10px 0;
}

.point-text p {
  margin: 0;
  /* font-size: 14px; */
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  line-height: 1.6;
}

/* 交互に左右反転 */
.point-block.reverse {
  flex-direction: row-reverse;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
.point-sectionbox {
  width: 80%;
  margin: 0 auto;
}
  .point-block,
  .point-block.reverse {
    flex-direction: column;
  }

  .point-image,
  .point-text {
    max-width: 100%;
    flex: 1 1 100%;
    padding: 10px 0;
  }
}


/*----------------------- comparison-sectionセクション --------------------------*/
.comparison-section {
  background-color:#FAF2E7;
  padding: 100px 20px;
  color: #333;
}

.cptable img{
/* width:80%; */
  width:100%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {

}


/*------------------------------------------------------------
ご利用の流れページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-flow {
  background-image: url('../flow/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-flow {
  background-image: url('../flow/img/main_bg_sp.png');
}
}


/*----------------------- usage-flow-section --------------------------*/
.usage-flow-section {
  padding: 80px 20px;
  text-align: center;
}

.flow-step-inner{
padding: 80px 0px;
}

.flow-stepB {
  background-color: #fce9ef;
  padding: 40px 20px;
  position: relative;
}

.flow-header {
  position: relative;
  background: #e3507c;
  width: 200px;
  height: 40px;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding-left: 15px;
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
}

.flow-number {
  font-size: 18px;
}

/* 本体横並び */
.flow-body {
  display: flex;
  align-items: center;
  gap: 20px;
  text-align:left;
}

.flow-icon {
  width: 15%;
  min-width: 120px;
  padding:0 50px;
}

.flow-icon img {
  width: 100%;
  height: auto;
}

.flow-text {
  width: 80%;
  padding:0 50px 0 0;
}

.flow-text h3 {
  margin: 0;
  /* font-size: 18px; */
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
}

.flow-text hr {
  margin: 10px 0;
  border: none;
  border-top: 1px solid #000;
}

.flow-text p {
  padding-top: 10px;
  /* font-size: 14px; */
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  line-height: 1.6;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
  .usage-flow-section {
    padding: 40px 20px 0;
  }
  .flow-step-inner{
    padding: 40px 0px 0;
    max-width: 320px;
    margin: auto;
  }
  .flow-body {
    flex-direction: column;
    align-items: flex-start;
  }
  .flow-icon{
    width: 100%;
    padding:0px;
    margin: 0 auto;
    text-align: center; /* 親要素に追加 */
  }
  .flow-icon img{
      width: 50%;
      margin: 0 auto;
  }
  .flow-text {
    width: 100%;
  }
}

.nextsankaku{
width:64px;
margin:0 auto;
padding:30px 0;
}


/*------------------------------------------------------------
よくある質問ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-qa {
  background-image: url('../qa/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-qa {
  background-image: url('../qa/img/main_bg_sp.png');
}
}


/*----------------------- qa-section"セクション --------------------------*/


.qa-section {
  background: url('../qa/img/qa_bg.jpg') no-repeat center center;
  background-size: cover;
  padding: 100px 20px;
  text-align: center;
  color: #333;
}

.ex-inner-qa {
  /* max-width: 900px; */
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

.ex-inner-qa h2 {
  /* font-size: 32px;
  color: #ec8022; */
  margin-bottom: 0.5rem;
}

.qa-inner {
  padding: 80px 0px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  /* gap: 20px; */
  gap: 90px 40px;
}

/* QA BOX */
.qa-box {
  /* width: 48%; */
  width: calc(50% - 20px);
  box-sizing: border-box;
  position: relative;
  text-align:left;
  /* padding:30px 0; */
  background-color: #fff;
  border: 2px solid #E37508;
}

.qa-box:nth-child(4n + 1),
.qa-box:nth-child(4n + 4) {
border: 2px solid #C3996F;
}


/* ピン画像（上にはみ出す） */
.qa-pin {
  position: absolute;
  /* top: -20px; */
  top: -30px; /* 上にはみ出す位置調整 */
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.qa-pin img {
  width: 70px; /* サイズはお好みで調整 */
}

/* Q部分 */
.qa-question {
  background-color: #C3996F;
  padding: 30px 40px;
  color: #fff;
  display: flex;
  align-items: center; /* 縦中央揃え */
  gap: 10px; /* Qとテキストの間のスペース */
  width: 100%;
}

.qa-questionO {
  background-color: #E37508;
  padding: 30px 40px;
  color: #fff;
  display: flex;
  align-items: center; /* 縦中央揃え */
  gap: 10px; /* Qとテキストの間のスペース */
  width: 100%;
}

.qa-q {
  /* font-size: 33px; */
  /* font-weight: bold; */
  font-size: clamp(2rem, 1.775rem + 1.125vw, 3.125rem);
  font-weight: 900;
  margin: 0;
  white-space: nowrap; /* 改行させない */
}
.qa-question-text {
  /* font-size: 17px; */
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
  margin: 10px 0 0;
}

/* A部分 */
.qa-answer {
  background-color: #fff;
  /* border: 1px solid #C3996F; */
  border-top: none;
  padding:20px 40px 40px;
  width: 100%;
  /* height:250px; */
}
.qa-answerO {
  background-color: #fff;
  /* border: 1px solid #E37508; */
  border-top: none;
  padding: 20px 40px 40px;
  /* height:250px; */
}
.qa-a {
  /* font-size: 33px; */
  font-size: clamp(2rem, 1.775rem + 1.125vw, 3.125rem);
  color: #C3996F;
  /* font-weight: bold; */
  font-weight: 900;
  margin: 0 0 10px;
}
.qa-aO {
  /* font-size: 33px; */
  font-size: clamp(2rem, 1.775rem + 1.125vw, 3.125rem);
  color: #E37508;
  /* font-weight: bold; */
  font-weight: 900;
  margin: 0 0 10px;
}
.qa-answer-text {
  /* font-size: 14px; */
  color: #333;
  line-height: 1.6;
}
/* スマホ用：縦並び */
@media screen and (max-width: 960px) {
  .qa-inner {
    gap: 40px 20px;
  }
  .qa-box {
  width: calc(50% - 10px);
  }

  .qa-question,
  .qa-questionO {
    padding: 15px 25px 25px;
  }
  .qa-answer,
  .qa-answerO {
    padding: 15px 25px 25px;
  }
}


/* スマホ用：縦並び */
@media screen and (max-width: 767px) {
  .qa-section {
    padding-bottom: 0;
  }
  .ex-inner-qa {
    padding: 20px 0;
  }
  .qa-box {
    width: 100%;
  }
  /* .qa-answer {
    height:auto;
  } */
  .qa-pin {
    top: -20px;
  }
  .qa-pin img {
    width: 40px; /* サイズはお好みで調整 */
  }
  /* .qa-answerO {
    height:auto;
  } */
  .qa-question,
  .qa-questionO {
    padding: 20px 30px 30px;
  }
  .qa-answer,
  .qa-answerO {
    padding: 20px 30px 30px;
  }
}

/*------------------------------------------------------------
会社概要ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-company {
  background-image: url('../company/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-company {
  background-image: url('../company/img/main_bg_sp.png');
}
}


/*----------------------- greeting / company --------------------------*/
.greeting-section {
  display: flex;
  flex-wrap: wrap;
  /* max-width: 1000px; */
  max-width: 1200px;
  margin: 0 auto;
  padding:80px 30px;
}

.text-sectionG {
  width: 50%;
  padding: 20px 50px 20px 20px;
  box-sizing: border-box;
}

.text-sectionG p{
/* font-size:14px; */
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  line-height:2;
}

.text-sectionG h2 {
  /* font-size: 32px;
  color: #ec8022; */
  text-align:center;
}

.image-sectionG {
  width: 50%;
  margin-top:20px;
  box-sizing: border-box;
}

.image-sectionG img {
  width: 100%;
  height: auto;
  display: block;
}


@media (max-width: 768px) {
  .text-sectionG,
  .image-sectionG {
    width: 100%;
    /* padding: 20px; */
    padding:20px 0;
  }
  /* .shadow-box-title .shadow-box-label {
    top: 2px;
  } */
}


/* 会社概要テーブル */
.companytable{
    font-size:14px;
}
.companytable table{
    border-collapse: collapse;
    border: none;
    width:100%;
}
.companytable td,th{
    border: none;
    border-left: 1px solid #333;
    border-top: 1px solid #333;
    padding:1em;
}
.companytable td:first-child,th:first-child{
    border-left:none;
}
.companytable tr:first-child td,tr:first-child th{
    border-top:none;
}

.companytable .ct20{
    width:20%;
    text-align:right;
}
.companytable .ct80{
    width:80%;
}

.caraimage img{
width:100%;
margin:0 auto;
padding:30px 0;
}


/*access map*/
.access {
  width: 100%;
  max-width: 1200px;
}
.acinner{
  /* width:900px; */
  width: 100%;
  margin:0 auto;
  padding:30px;
  box-sizing: border-box;
}
.access-container {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  align-items: center;
}

.access-info {
  width: 30%;
  min-width: 200px;
  padding:0 20px 20px 0;
  text-align:center;
}

.access-info h2{
  margin-bottom:0px;
}
.access-info p{
  margin-bottom:20px;
  /* font-size:15px; */
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.25rem);
  font-weight: 900;
}

.company-info {
  width: 65%;
}
.company-info p {
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.25rem);
}
.map-container {
  width: 100%;
}

@media (max-width: 768px) {
.acinner{
width:90%;
margin:0 auto;
padding:0 5%;
}
  .access-info,
  .company-info {
    width: 100%;
    padding-right: 0;
  }
}


/*------------------------------------------------------------
工場見学ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-factory {
  background-image: url('../factory/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-factory {
  background-image: url('../factory/img/main_bg_sp.png');
}
}

.main-image.factory-pic img {
  max-width: initial;
  width: 100%;
}

/*----------------------- 説明セクション --------------------------*/
.ex-section-factory {
  padding: 40px 20px;
  text-align: center;
}


/* ボタン */
.factory-tour-wrapper {
  width: 100%;
  /* max-width:900px; */
  max-width:1200px;
  background-color: #0082c8; /* 青背景 */
  padding: 20px 0;
  text-align: center;
  position: relative;
  margin:0 auto;
}

.factory-tour-link {
  display: inline-block;
  color: white;
  font-weight: bold;
  padding-right: 40px; /* 矢印分のスペース */
  text-decoration: none;
  /* font-size: 16px; */
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  position: relative;
}

.factory-tour-link::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url('../factory/img/yajirushi.png');
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 768px) {
.factory-tour-link {
  font-size: 12px;
}
}

.txhaccp{
  color:#94111C;
  text-decoration:underline;
}


.fcimage-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 0px 0 0;
}

.fc-img {
  width: 32%;
  height: auto;
  object-fit: contain;
}

/* スマホ */
@media (max-width: 768px) {
  .fcimage-row {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .fc-img {
    width: 100%;
    margin-bottom: 16px;
  }
}

/* ボーダーカラー */
.borderB{
border:7px solid #0182BE;
}

.borderG{
border:7px solid #01BE58;
}

.borderP{
border:7px solid #BE0167;
}
@media (max-width: 768px) {
  /* ボーダーカラー */
  .borderB{
  border:3px solid #0182BE;
  }

  .borderG{
  border:3px solid #01BE58;
  }

  .borderP{
  border:3px solid #BE0167;
  }
}


/*----------------------- single-contact-section --------------------------*/
.single-contact-section {
  padding:50px 30px;
}

.single-contact-inner{
/* max-width: 900px; */
  max-width: 1200px;
  margin: 0 auto;
}



/* 電話問い合わせ */
/* .contacttel img{
  width:100%;
  margin:0 auto;
}
 */
.contact-tel {
  border: 5px solid #E37508;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
.contact-icon {
  color: #fff;
  display: block;
  background-color: #E37508;
  /* width: 150px; */
  width: 180px;
  padding: 25px 25px 25px 100px;
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  font-weight: 900;
  position: relative;
}
.contact-icon::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 40px;
  background-image: url(../img/tel_icon_white.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.contact-tel-inner {
  width: calc(100% - 310px);
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}

.contact-no {
  display: block;
  line-height: 1;
  font-weight: 900;
  font-size: clamp(1.875rem, 0.3125rem + 5vw, 3.125rem);
  padding:0 20px;
  text-decoration: none;
  color: #000;
}
.contact-time {
  display: block;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  padding:0 20px;
}

@media (max-width: 1200px) {
  .contact-tel {
    align-items: stretch;
  }
  .contact-icon {
    display: flex;
    align-items: center;
  }
  .contact-tel-inner {
    flex-direction: column;
    padding: 10px;
  }
  .contact-time {
    padding-top: 10px;
  }
}

@media (max-width: 960px) {
  .contact-icon {
    width: 100%;
    padding: 15px 15px 15px 75px;
  }
  .contact-icon::before {
    left: 20px;
  }
  .contact-tel-inner {
    width: 100%;
    text-align: center;
  }
}

/* お問い合わせフォームボックス */

.form-box {
  position: relative;
  border: 5px solid #E37508;
  background-color: white;
  padding: 60px 20px 20px 20px;
  margin:20px 0;
  box-sizing: border-box;
}

.form-tab {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #E37508;
  /* width:150px; */
  width:180px;
  color: white;
  padding: 25px 25px 25px 100px;
  /* font-size: 16px; */
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  font-weight: 900;
  z-index: 1;
}

.form-tab::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 30px;
  background-image: url('../img/mailicon.png');
  background-size: contain;
  background-repeat: no-repeat;
}

.form-content {
  margin-top: 20px;
}

@media (max-width: 960px) {
  .form-tab {
    width: 100%;
    box-sizing: border-box;
    padding: 15px 15px 15px 75px;
  }
  .form-tab::before {
    left: 20px;
  }
}

@media (max-width: 768px) {
.form-box {
  margin:30px 0;
}
}


/*------------------------------------------------------------
出張デモ・試食ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-info {
  background-image: url('../information/img/main_bg.png');
}
@media (max-width: 768px) {
  #mv-info {
    background-image: url('../information/img/main_bg_sp.png');
  }
}


.info-section {
  display: flex;
  flex-wrap: wrap;
  /* max-width: 900px; */
  max-width: 1200px;
  margin: 0 auto;
  padding:80px 30px;
}

.info-section .catch .lead {
  font-size: clamp(1.8rem, 1.4rem + 0.8333vw, 2.4rem);
}

.text-sectionInfo {
  width: 58%;
  padding: 20px 50px 20px 20px;
  box-sizing: border-box;
}

.text-sectionInfo p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  line-height:2;
}

.text-sectionInfo h2 {
  text-align:center;
}

.image-sectionInfo {
  width: 42%;
  margin-top:20px;
  box-sizing: border-box;
}

.image-sectionInfo img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width:1600px) {
  .text-sectionInfo {
    width: 57%;
  }
}

@media (max-width: 1200px) {
  .info-section {
    padding:80px 0px;
  }
  .info-section .catch .lead {
    font-size: clamp(1.2rem, -0.2222rem + 2.963vw, 2rem);
  }
}


@media (max-width: 768px) {
  .info-section {
    display: flex;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 auto;
    padding:40px 0px;
  }
  .text-sectionInfo,
  .image-sectionInfo {
    width: 100%;
    padding:20px 0;
  }
}


/*------------------------------------------------------------
お問い合わせ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
.ex-section-contact {
  padding-top: 40px;
  text-align: center;
}

#mv-contact {
  background-image: url('../contact/img/main_bg.jpg');
}

@media (max-width: 768px) {
#mv-contact {
  background-image: url('../contact/img/main_bg_sp.jpg');
}
}


/*------------------------------------------------------------
個人情報保護方針ページ
------------------------------------------------------------*/

/*----------------------- ヘッダービジュアル --------------------------*/
#mv-privacy {
  background-image: url('../privacy-policy/img/main_bg.png');
}
@media (max-width: 768px) {
#mv-privacy {
  background-image: url('../privacy-policy/img/main_bg_sp.png');
}
}

.privacy-inner{
max-width:900px;
margin:0 auto;
padding:3%;
text-align:left;
line-height:1.7;
}
