@charset 'UTF-8';

html,
body {
 /*  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;*/
 font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
 font-size: 62.5%;
 line-height: 1.6;
 text-align: center;
 color: #000;
}

body {
 font-size: 1.6rem;
}

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

.pc {
 display: block;
}

.sp {
 display: none !important;
}

img {
 object-fit: cover;
 /* アスペクト比を保ちながら拡縮 */
 image-rendering: auto;
 /* ブラウザのリサンプリングを最適化 */
 width: 100%;
}

@media screen and (max-width: 768px) {
 body {
  font-size: 1.4rem;
 }

 .sp {
  display: block !important;
 }

 .pc {
  display: none !important;
 }
}

br {
 font-size: 0;
}

/* ============== .l-sec ============== */
.l-sec {
 width: 100%;
}

.l-sec__inner {
 width: 62.5vw;
 max-width: 1200px;
 margin: 0 auto;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
 .l-sec__inner {
  width: 90%;
 }
}

@media screen and (max-width: 768px) {
 .l-sec__inner {
  width: 90%;
 }
}

/* ============== .head ============== */
.head {
 position: fixed;
 z-index: 100;
 top: 0;
 left: 0;
 width: 100%;
 height: 129px;
 margin: 0 auto;
}

.head__inner {
 width: 100%;
 height: 129px;
}

.head__logoLink {
 display: block;
 width: 220px;
 background: #fff;
 padding: 1rem;
}

.head__logo {
 width: 100%;

 -webkit-transition: .4s;
 transition: .4s;
}

.head__logo:hover {
 opacity: .6;
}

.head__logo>img {
 display: block;
 width: 100%;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
 .head {
  height: 9.76562vw;
 }

 .head__inner {
  height: 9.76562vw;
 }

 .head__logoLink {
  width: 23.4375vw;
 }
}

@media screen and (max-width: 768px) {
 .head {
  height: auto;
  background-color: #fff;
  width: 100%;
 }

 .head__inner {
  height: auto;

 }

 .head__logoLink {
  width: auto;
 }

  .head__logo>img {
   display: block;
   width: 36%;
   margin: 0 auto;
  }
}
/* ============== .mv ============== */
.mv {
 position: relative;
 width: 100%;
 background-image: url(../images/img-mvbg-pc.png);
 background-repeat: no-repeat;
 background-position: bottom center;
 background-size: contain;
 margin-bottom: 3vw;
 overflow: hidden;
}

.mv picture {
 display: block;
}

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

/* ============== .seminar-title ============== */
.seminar-title {
 position: absolute;
 top: 3.3vw;
 /* right: 9%; */
 z-index: 10;
 /* width: 41%; */
 text-align: left;
 color: #000;
 text-align: center;
}

.seminar-title__head {
 display: flex;
 align-items: center;
 gap: 1.4rem;
 margin-bottom: 1rem;
 text-align: center;
 justify-content: center;
}

.seminar-title__badge {
 display: inline-block;
 margin: 0;
 padding: 1rem 1.8rem;
 background: #e83f57;
 color: #fff;
 font-size: 2rem;
 font-weight: 700;
 line-height: 1;
 white-space: nowrap;
}

.seminar-title__date {
 margin: 0;
 font-size: 2.5rem;
 font-weight: 700;
 line-height: 1.2;
 white-space: nowrap;
}

.seminar-title__main {
 margin: 0;
 font-size: 6.2rem;
 font-weight: 800;
 line-height: 1.02;
 letter-spacing: 0;
}

.seminar-title__main--red {
 color: #e83f57;
}

.seminar-title__main--black {
 color: #111;
}

.seminar-title__main--blue {
 color: #3b77cd;
}

.seminar-title__sub {
 margin: 0.2rem 0 0.8rem;
 font-size: 6.8rem;
 font-weight: 800;
 line-height: 1.6;
 letter-spacing: 0;
 color: #111;
}

.seminar-title__desc {
 margin: 0;
 font-size: 1.2vw;
 font-weight: 700;
 line-height: 2;
 letter-spacing: 0;
}

/* ===== 大きめPC ===== */
@media screen and (min-width: 1400px) {
 .seminar-title {
  top: 3.2vw;
  width: 100%;
  text-align: center;
  color: #333;
 }

 .seminar-title__main {
  font-size: 5vw;
  line-height: 1.2;
 }

 .seminar-title__sub {
  font-size: 2vw;
 }
}

/* ===== 小さめPC～タブレット ===== */
@media screen and (min-width: 769px) and (max-width: 1399px) {
 .seminar-title {
  top: 3.8vw;
 /* right: 6%;*/
  width: 100%;
 }

 .seminar-title__head {
  gap: 1rem;
  margin-bottom: 0.8rem;
 }

 .seminar-title__badge {
  font-size: 1.5rem;
  padding: 0.8rem 1.4rem;
 }

 .seminar-title__date {
  font-size: 1.7rem;
 }

.seminar-title__main {
     font-size: 4.5rem;
     line-height: 1.2;
}
  
.seminar-title__sub {
     font-size: 2rem;
     line-height: 1.2;
     margin: 0.1rem 0 0.6rem;
}

 .seminar-title__desc {
  font-size: 1.4rem;
  line-height: 1.5;
 }
}

/* ===== SP ===== */
@media screen and (max-width: 768px) {
 .mv {
  background-image: none;
  margin-bottom: 0;
 }

 .seminar-title {
  position: absolute;
  top: 14rem;
  /* 固定ヘッダーのかぶりを避ける */
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: 88%;
  z-index: 10;
  text-align: center;
 }

 .seminar-title__head {
  display: block;
  margin-bottom: 2r;
 }

 .seminar-title__badge {
  display: inline-block;
  font-size: 2rem;
  padding: 1.8vw 3.2vw;
  margin-bottom: 2.2vw;
 }

 .seminar-title__date {
  display: block;
  font-size: 3rem;
  line-height: 1.3;
 }

 .seminar-title__main {
  font-size: 5rem;
  line-height: 1.2;
  margin-bottom: 2rem;
 }

 .seminar-title__sub {
  margin: 0.8vw 0 1.8vw;
  font-size: 2rem;
  line-height: 1.2;
 }

 .seminar-title__desc {
  font-size: 3.5vw;
  line-height: 1.55;
 }
}

/* ===== かなり小さいSP ===== */
@media screen and (max-width: 480px) {
 .seminar-title {
  top: 8rem;
  width: 90%;
 }

 .seminar-title__badge {
  font-size: 4vw;
 }

 .seminar-title__date {
  font-size: 5vw;
 }

 .seminar-title__main {
  font-size: 3rem;
 }

 .seminar-title__sub {
  font-size: 2rem;
 }

 .seminar-title__desc {
  font-size: 3vw;
 }
}


/* ============== .cta ============== */
.cta {
 position: fixed;
 z-index: 9999;
 bottom: 0;
 left: 0;
 display: block;
 width: 100%;
 -webkit-transition: .3s;
 transition: .3s;
 opacity: 0;
 padding: 3rem 0;
 background: #FFE;
}

.ctabtn-area {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

.ctabtn-tel {
 box-shadow: 0 0 0 3px #3b77cd, 0 0 0 6px #fff, 0 0 0 8px #3b77cd;
 background-color: #3b77cd;
 border-radius: 60px;
 color: #fff;
 padding: 20px;
 flex-basis: 40%;
 margin-right: 1.5rem;
}

.ctabtn-tel a,
.ctabtn-web a {
 color: #fff;
 font-weight: bold;
 font-size: 3rem;
}

.ctabtn-web {
 box-shadow: 0 0 0 3px #e83f57, 0 0 0 6px #fff, 0 0 0 8px #e83f57;
 background-color: #e83f57;
 border-radius: 60px;
 color: #fff;
 padding: 20px;
 flex-basis: 40%;
 margin-left: 1.5rem;
}

.cta:hover {
 opacity: .7;
}

.cta.is-active {
 display: none !important;
}


@media screen and (min-width: 769px) and (max-width: 1024px) {
.cta {
  padding: 1.5rem 0;
 }

 .ctabtn-tel a,
 .ctabtn-web a {
  font-size: 2rem;
 }

}

@media screen and (max-width: 768px) {
 .ctabtn-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

 }

 .ctabtn-tel {
  box-shadow: 0 0 0 2px #3b77cd, 0 0 0 4px #fff, 0 0 0 6px #3b77cd;
  padding: 1rem;
 }

 .ctabtn-web {
  box-shadow: 0 0 0 2px #e83f57, 0 0 0 4px #fff, 0 0 0 6px #e83f57;
  padding: 1rem;
  flex-basis: 90%;
 }


 .ctabtn-tel a,
 .ctabtn-web a {
  font-size: 1.6rem;
 }

}

@media screen and (max-width: 400px) {
 .ctabtn-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
 }

 .ctabtn-tel,
 .ctabtn-web {
  padding: 0.5rem;
  margin: 0;
 }

 .ctabtn-tel a,
 .ctabtn-web a {
  font-size: 1.4rem;
 }

}


/* ============== 各セクションのタイトル（共通） .c-ttl01 ============== */
.c-ttl01 {
 font-size: 3.2rem;
 font-weight: bold;
 line-height: 6rem;
 text-align: center;
 letter-spacing: .1em;
 margin-bottom: 3rem;
}

.c-ttl01__txt {
 margin-bottom: 4rem;
 text-align: center;
}

@media screen and (max-width: 768px) {
 .c-ttl01 {
  font-size: 2.4rem;
  line-height: 3.2rem;
  margin-bottom: 2rem;
 }

 .c-ttl01__txt {
  margin-bottom: 1rem;
 }
}



/* ============== 全体 ============== */
.worriesSec {
 width: 100%;
 margin-top: 45px;
 text-align: center;
 background: #bfe0ef;
 padding: 3vw 0;
}

.c-ttl01 {
 font-size: 3.2rem;
 font-weight: bold;
 line-height: 1.6;
 margin-bottom: 2rem;
}

/* 画像 */
.worries-img {
 margin-bottom: 4rem;
}

.worries-img img {
 width: 100%;
 max-width: 500px;
}

/* ============== ボックス ============== */
.seminar-list-block {
 margin: 0 auto 4rem;
 width: 90%;
 max-width: 900px;
 background: #fff;
 padding: 3.5rem 3rem;
 box-sizing: border-box;
 box-shadow:
  0 0 0 3px #548816,
  0 0 0 6px #fff,
  0 0 0 10px #548816;
}

/* 見出し */
.seminar-list-heading {
 font-size: 3rem;
 font-weight: bold;
 color: #000;
 margin-bottom: 2.5rem;
}

/* リスト */
.seminar-list {
 list-style: none;
 padding: 0;
 margin: 0 auto 3rem;
 max-width: 700px;
}

.seminar-list li {
 display: flex;
 align-items: flex-start;
 gap: 1.2rem;
 margin-bottom: 1.8rem;
 font-size: 3.2rem;
 font-weight: bold;
 color: #e83f57;
 line-height: 1.5;
 padding-bottom: 0.8rem;
 border-bottom:3px solid #fde68a;
}

/* ★ チェックアイコン（今回のメイン） */
.seminar-icon {
 flex-shrink: 0;
 width: 1.2em;
 height: 1.2em;
 border-radius: 50%;
 background:#e83f57;
 position: relative;
 margin-top: 0.2em;
}

/* チェック */
.seminar-icon::after {
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 width: 0.5em;
 height: 0.3em;
 border-left: 3px solid #fff;
 border-bottom: 3px solid #fff;
 transform: translate(-50%, -50%) rotate(-45deg);
}

/* 画像 */
.seminar-img {
 max-width: 750px;
 width: 100%;
 margin: 0 auto 2rem;
}

.seminar-img img {
 width: 60%;
 height: auto;
 display: block;
 margin: 0 auto;
}

/* 下テキスト */
.seminar-list-note {
 font-size: 2.8rem;
 font-weight: bold;
 color: #000;
}

/* ============== 注目 ============== */
.attention {
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 2.8rem;
 font-weight: bold;
 padding: 2rem;
}

.attention img {
 width: 3rem;
 height: 3rem;
 margin-right: 0.5rem;
}

.attention-txt span {
 color: #e83f57;
}

/* ============== レスポンシブ ============== */
@media screen and (max-width: 768px) {

 .c-ttl01 {
  font-size: 2.4rem;
 }

.seminar-list-block {
 padding: 1.5rem;
}

.seminar-img img{
 width: 100%;
}

 .seminar-list-heading {
  font-size: 2rem;
 }

 .seminar-list li {
  font-size: 2rem;
 }

 .seminar-list-note {
  font-size: 1.8rem;
 }

 .attention {
  font-size: 1.8rem;
  display: block;
 }

 .attention img {
  width: 2rem;
  height: 2rem;
 }
}

/* ============== セクションをつなぐ矢印 ============== */
.arrow-container {
 text-align: center;
 margin: -2% auto 0 auto;
 width: 50%;
}

.img-arrow {
 width: 50%;
}

.arrow-container01 {
 text-align: center;
 margin: 0 auto;
 width: 50%;
}

.img-arrow01 {
 width: 50%;
}

@media screen and (max-width: 768px) {
 .arrow-container {
  text-align: center;
  margin: -2% auto 0 auto;
  width: 100%;
 }

 .img-arrow01 {
  width: 100%;
 }

}

/* ============== .counselorSec ============== */
.counselorSec {
 padding: 3vw 0;
}

.counselor-table-wrap {
 width: 62.5vw;
 max-width: 1200px;
 margin: 0 auto 4rem;
}

.counselor-table {
 width: 100%;
 border-collapse: collapse;
 table-layout: fixed;
 background: #fff;
}

.counselor-table tr {
 border-bottom: 1px solid #ddd;
}

.counselor-table tr:first-child {
 border-top: 1px solid #ddd;
}

.counselor-table__photo,
.counselor-table__profile {
 padding: 2.5rem;
 vertical-align: middle;
 text-align: left;
}

.counselor-table__photo {
 width: 32%;
 text-align: center;
 background: #fafafa;
}

.counselor-table__photo img {
 width: 100%;
 max-width: 240px;
 height: auto;
 object-fit: contain;
}

.counselor-table__profile {
 width: 68%;
}

.counselor-table__job {
 font-size: 2rem;
 font-weight: 700;
 margin-bottom: 0.5rem;
 color: #548816;
}

.counselor-table__name {
 font-size: 3rem;
 font-weight: 700;
 margin-bottom: 1.2rem;
 line-height: 1.4;
}

.counselor-table__office {
 font-size: 1.8rem;
 font-weight: 700;
 margin-bottom: 1.2rem;
 line-height: 1.7;
}

.counselor-table__text {
 font-size: 1.7rem;
 line-height: 1.9;
}

.endingnote {
 width: 35%;
 margin: 0 auto;
}

/* タブレット */
@media screen and (min-width: 769px) and (max-width: 1024px) {
 .counselor-table-wrap {
  width: 90%;
 }

 .counselor-table__photo,
 .counselor-table__profile {
  padding: 2rem;
 }

 .counselor-table__photo {
  width: 34%;
 }

 .counselor-table__profile {
  width: 66%;
 }

 .counselor-table__job {
  font-size: 1.8rem;
 }

 .counselor-table__name {
  font-size: 2.6rem;
 }

 .counselor-table__office {
  font-size: 1.6rem;
 }

 .counselor-table__text {
  font-size: 1.5rem;
 }
}

/* SP */
@media screen and (max-width: 768px) {
 .counselorSec {
  padding: 6vw 0;
 }

 .counselor-table-wrap {
  width: 90%;
  margin: 0 auto 2rem;
 }

 .counselor-table,
 .counselor-table tbody,
 .counselor-table tr,
 .counselor-table td {
  display: block;
  width: 100%;
 }

 .counselor-table tr {
  margin-bottom: 2rem;
  border: 1px solid #ddd;
  background: #fff;
 }

 .counselor-table tr:first-child {
  border-top: 1px solid #ddd;
 }

 .counselor-table__photo,
 .counselor-table__profile {
  width: 100%;
  box-sizing: border-box;
  padding: 1.5rem;
 }

 .counselor-table__photo {
  background: #fafafa;
  border-bottom: 1px solid #ddd;
 }

 .counselor-table__photo img {
  max-width: 180px;
 }

 .counselor-table__job {
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
  text-align: center;
 }

 .counselor-table__name {
  font-size: 2.2rem;
  margin-bottom: 1rem;
  text-align: center;
 }

 .counselor-table__office {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  text-align: center;
 }

 .counselor-table__text {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
 }

 .endingnote {
  width: 100%;
  margin: 0 auto;
 }
}



/* ============== .qaSec ============== */
.qaSec {
 background-image: repeating-linear-gradient(-45deg, #fffbd7, #fffbd7 10px, transparent 10px, transparent 20px);
 background-color: #fff8be;
 width: 100%;
 text-align: left;
 padding: 3vw 0 3vw 0;
}

.qa_block {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.qa-card {
 background: #fff;
 border-radius: 8px;
 padding: 20px;
 max-width: 100%;
 width: 600px;
 margin: 20px auto;
 flex-basis: 44%;
}

.qa-card-header {
 background-color: #548816;
 color: #fff;
 font-weight: bold;
 font-size: 1.8rem;
 text-align: center;
 padding: 5px;
 width: 60%;
 margin: 0 auto;
}

.qa-card-content {
 padding: 20px;
}

.question {
 display: flex;
 align-items: flex-start;
 gap: 10px;
 flex-wrap: wrap;
}

.question-illustration {
 width: 100px;
 height: 100px;
 flex-shrink: 0; /* 画像が縮小されないように固定 */
}

.question-content {
 display: flex;
 gap: 10px;
 flex: 1; /* テキスト部分が自動調整されるよう設定 */
}

.question-icon {
 background-color: #4a90e2;
 color: #fff;
 font-weight: bold;
 width: 40px;
 height: 40px;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 font-size: 18px;
 flex-shrink: 0; /* アイコンも縮小されないよう固定 */
}

.question-text {
 color: #333;
 font-size: 1.8rem;
 font-weight: bold;
 line-height: 1.5;
 flex: 1;
 /* テキスト部分が余白に合わせて拡大 */
}

.answer {
 display: flex;
 align-items: flex-start;
 padding-top: 20px;
 gap: 10px;
 flex-wrap: wrap;
}

.answer-icon {
 background-color: #f4514d;
 color: #fff;
 font-weight: bold;
 width: 40px;
 height: 40px;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 font-size: 18px;
}

.answer-text {
 color: #333;
 line-height: 1.8;
 flex: 1; /* テキストが可変幅に対応 */
}


@media screen and (max-width: 1440px)/* この幅からSPまで1カラムで表示 */
 {
 .qaSec {
  margin-top: 0;
  text-align: left;
  padding: 6vw 0 6vw 0;
 }

 .qa-card {
  width: 90%;
  flex-basis: 100%;
  padding: 10px 5px;
 }

 .qa-card-content {
  padding: 10px;
 }

 .qa-card-header {

  font-size: 1.8rem;
  text-align: center;
  padding: 5px;
  width: 60%;
  margin: 1rem auto;
 }

 .question-text {
  font-size: 1.6rem;
 }
}

@media screen and (max-width: 768px) /* この幅からSPまで1カラムで表示 */
 {
 .question-illustration {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
 }

 .question-icon {
  width: 30px;
  height: 30px;
 }

 .answer-icon {
  width: 30px;
  height: 30px;
 }
}


/* ============== .outlineSec ============== */
.outlineSec {
 padding: 3vw 0 3vw 0;
}

.map iframe {
 width: 100%;
 max-width: 1200px;
 height: 450px;
 margin-bottom: 2rem;
}

.event-info {
 display: grid;
 grid-template-columns: auto 1fr;
 /* 項目名と詳細を左右に分ける */
 gap: 10px 20px;
 margin: 0 auto;
 font-size: 2rem;
 padding: 0 10vw;
 text-align: left;
}

.event-info dt {
 font-weight: 500;
 color: #fff;
 background: #548816;
 padding: 10px;
 white-space: nowrap;
 /* 項目名を1行に収める */
 display: flex;
 align-items: center;
}

.event-info dd {
 margin: 0;
 padding: 10px;
 font-weight: bold;
 color: #000;
 line-height: 1.6;
}

.event-info dd span {
 font-size: 1.6rem;
 font-weight: normal;
}

.event-info dd a {
 color: #057605;
 text-decoration: none;
}

.event-info dd a:hover {
 text-decoration: underline;
}

@media screen and (max-width: 768px) {
 .outlineSec {
  padding: 6vw 0 6vw 0;
 }

 .event-info {
  grid-template-columns: 1fr;  /* 狭い画面では1列に切り替え */
  font-size: 1.6rem;
  gap: 0;
  padding: 0;
 }

 .event-info dt {
  margin-bottom: 0;
  padding: 5px 10px;
 }

 .event-info dd span {
  font-size: 1.4rem;
 }
}



/* ============== .entrySec ============== */
.entrySec {
 background-image: repeating-linear-gradient(-45deg, #ecf8db, #ecf8db 10px, transparent 10px, transparent 20px);
 background-color: #e7f6d1;
 width: 100%;
 text-align: left;
 padding: 3vw 0 3vw 0;

}

.reservation {
 background: #d20a0f;
 padding: 10px;
 text-align: center;
 color: #fff;
 font-size: 1.8rem;
 font-weight: bold;
 width: 100px;
 margin: 0 auto 20px;
}

.entry-tel-area {
 border-top: 1px #ccc solid;
 border-bottom: 1px #ccc solid;
 padding: 2rem;
 margin-bottom: 4rem;
}

.entry-tel-txt {
 text-align: center;
}

.entrybtn-tel {
 box-shadow: 0 0 0 3px #3b77cd, 0 0 0 6px #fff, 0 0 0 8px #3b77cd;
 background-color: #3b77cd;
 border-radius: 60px;
 color: #fff;
 padding: 16px;
 width: 60%;
 margin: 0 auto 4rem;
 text-align: center;
}

.phone-number img {
 margin-right: 10px;
 width: 40px;
 height: 40px;
}

.entrybtn-tel a {
 color: #fff;
 font-weight: bold;
 font-size: 4rem;

}

.entry-web-area {
 padding: 2rem;
}

.entrybtn-web {
 box-shadow: 0 0 0 3px #e83f57, 0 0 0 6px #fff, 0 0 0 8px #e83f57;
 background-color: #e83f57;
 border-radius: 60px;
 color: #fff;
 padding: 1rem;
 width: 60%;
 margin: 0 auto 3rem;
 text-align: center;
}

#mainform_submit {
 all: unset;
 /* デフォルトのスタイルをリセット */
 display: inline-block;
 color: #ffffff;
 font-size: 4rem;
 cursor: pointer;
 text-align: center;
 padding: 5px 10px;
 background: none;
 border: none;
 font-weight: bold;
}

.entrySec__ttl {
 font-size: 2.4rem;
 font-weight: bold;
 letter-spacing: .1em;
 text-align: center;
 margin-bottom: 2rem;
}

.entrySec__inner {
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 padding: 2rem;
 background-color: #fff;
}

.entrySec__mainForm {
 width: 100%;
}

.entrySec__main {
 margin: 0 auto 2rem;
}

.entrySec__th {
 font-size: 2.2rem;
 font-weight: bold;
 position: relative;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 width: 20vw;
 text-align: left;
}



@media screen and (min-width: 769px) and (max-width: 1400px) {
 .entrySec__inner {
  padding: 2rem 1rem;
  width: 90%;
 }

 .entrySec__th {
  font-size: 2.2rem;
  font-weight: bold;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 40vw;
  text-align: left;
 }
}

.entrySec__th--required::before {
 position: absolute;
 top: 11px;
 right: 62px;
 width: 58px;
 height: 26px;
 content: '';
 background-image: url(../images/entry-required.svg);
 background-repeat: no-repeat;
 background-size: contain;
}

.entrySec__td {
 width: 590px;
 padding-bottom: 35px;
}

.entrySec__txt {
 font-size: 22px;
 font-weight: 500;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 width: 100%;
 padding: 14px 0 14px 16px;

 border: 1px solid #282828;
}

.entrySec__txt ::-webkit-input-placeholder {
 color: #000;
}

.entrySec__txt ::-moz-placeholder {
 color: #000;
}

.entrySec__txt ::-ms-input-placeholder {
 color: #000;
}

.entrySec__txt ::placeholder {
 color: #000;
}

.entrySec__radioBox {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 flex-direction: column;
 width: 100%;
 padding-bottom: 35px;
 text-align: left;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-direction: column;
}

.entrySec__label {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
}

.entrySec__label--01 {
 margin-bottom: 14px;
}

.entrySec__radio {
 position: relative;
 width: 30px;
 height: 30px;
 margin: 0;
 border: 1px solid #000;
 border-radius: 50%;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
}

.entrySec__checkbox {
 position: relative;
 width: 30px;
 height: 30px;
 margin: 0;
 border: 1px solid #000;
 border-radius: 0;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
}


.entrySec__radio:checked:before {
 position: absolute;
 top: 50%;
 left: 50%;
 width: 15px;
 height: 15px;
 content: '';
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 border-radius: 50%;
 background: #008d40;
}

.entrySec__checkbox:checked:before {
 position: absolute;
 top: 50%;
 left: 50%;
 width: 10px;
 height: 15px;
 content: '';
 -webkit-transform: translate(-50%, -50%) rotate(45deg);
 transform: translate(-50%, -50%) rotate(45deg);

 border: solid #008d40;
 border-width: 0 2px 2px 0;
 background: none;
 box-sizing: border-box;
}

.entrySec__checkTxt {
 font-size: 2.2rem;
 font-weight: bold;
 line-height: 30px;

 padding-left: 13px;
}


@media screen and (max-width: 768px) {
 .entrySec {
  padding: 6vw 0 6vw 0;
 }

 .entrySec__inner {
  padding: 1rem;
 }

 .reservation {
  background: #d20a0f;
  padding: 5px;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  width: 100px;
  margin: 0 auto 10px;
 }

 .entrySec__ttl {
  font-size: 2rem;
 }

 .entry-tel-area {
  margin-bottom: 2rem;
  padding: 1rem;
 }

 .entrybtn-tel {
  padding: 0;
  margin: 0 auto 2rem;
  width: 90%;
 }

 .phone-number img {
  margin-right: 10px;
  width: 30px;
  height: 30px;
 }

 .entrybtn-tel a {
  color: #fff;
  font-weight: bold;
  font-size: 2.5rem;
  padding: 5px 10px;
  display: block;
 }

 .entry-web-area {
  padding: 1rem;
 }

 .entrybtn-web {
  box-shadow: 0 0 0 3px #e83f57, 0 0 0 6px #fff, 0 0 0 8px #e83f57;
  background-color: #e83f57;
  color: #fff;
  padding: 0;
  width: 90%;
  margin: 0 auto;
  text-align: center;
 }

 #mainform_submit {
  all: unset;
  /* デフォルトのスタイルをリセット */
  display: inline-block;
  color: #ffffff;
  font-size: 5vw;
  cursor: pointer;
  text-align: center;
  padding: 5px 10px;
  background: none;
  border: none;
  font-weight: bold;
 }

 .entrySec__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;

  width: 78.6vw;

  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
 }

 .entrySec__th {
  font-size: 2rem;
  width: 100%;
  padding-bottom: 2.1vw;
 }

 .entrySec__th--required::before {
  top: .93vw;
  right: 1.3vw;

  width: 12vw;
  height: 5.3vw;
 }

 .entrySec__td {
  width: 100%;
  padding-bottom: 3.2vw;
 }

 .entrySec__txt {
  font-size: 3.7vw;

  padding: 2.6vw 0 2.6vw 1.6vw;
 }

 .entrySec__radioBox {
  padding-bottom: 4.5vw;
 }

 .entrySec__label--01 {
  margin-bottom: 20px;
 }

 .entrySec__radio {
 /*  width: 5.3vw;
  height: 5.3vw; */
 }

 .entrySec__radio:checked:before {
  width: 2.6vw;
  height: 2.6vw;
 }

 .entrySec__checkTxt {
  font-size: 2rem;
  line-height: 4vw;
  padding-left: 2.1vw;
 }
}



/* ============== .foot ============== */
.foot {
 padding: 1.3vw 0;
}

.foot__txt {
 font-size: 14px;
 text-align: center;
 letter-spacing: 0;
 padding: 1rem;
}

@media screen and (max-width: 768px) {
 .foot__txt {
  font-size: 12px;
 }
}