@charset "UTF-8";
/* CSS Document */

#main-img {
	background-image: url(images/main-img.png);
}

/*contents01*/

.contents01 {
	padding-top:75px;
	width:820px;
	margin-bottom:80px;
}


.contents01-box {
	padding:20px;
	background-color:#f2f2f2;
	padding-bottom:18px;
	margin-top:40px;
}

.contents01-box p {
	font-size:16px;
}

.contents01 p span {
	color:#e62318;
	line-height:1.6;
}

.midashi01a {
    display: flex;                /* 横並び */
    align-items: center;          /* 上下を中央揃え */
    font-family: fot-tsukubrdgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 40px;
    line-height: 1.4;             /* 少しゆとりをもたせる */
    color: #000;
    letter-spacing: 0.1em;
    gap: 20px;                    /* アイコンと文字の間隔 */
    padding: 5px 0;
    background: none;             /* 既存の背景画像は削除 */
}

h3.midashi01a{
  display:inline-flex;         /* 要素幅＝中身の幅に */
  justify-content:center;      /* 中身も中央寄せ(保険) */
  align-items:center;
  gap:20px;
  line-height:1.4;
  margin:0;                    /* h3のデフォルト余白をリセット */
  background:none;
}

.midashi01-icon {
    width: 80px;                  /* アイコンサイズ調整 */
    height: auto;
}


.contents02-box {
	padding:30px;
	border: 12px solid #e5e5e5;
	margin-top:30px;
	padding-bottom:28px;
}

.contents02-box h5 {
	display:inline-block;
	padding:20px;
	padding-top:6px;
	padding-bottom:4px;
	background-color:#ea6000;
	font-family: fot-tsukubrdgothic-std, sans-serif;
font-style: normal;
font-weight: 400;
	font-size: 20px;
	line-height: 1.2;
	color: #FFF;
	letter-spacing:0.1em;
	border-radius:30px;
	margin-bottom:15px;
}

.contents02-box h5.a01 {
	display:block;
	text-align: center;
}


.contents02-box .text02 {
	border-radius:20px;
	padding:20px;
	background-color:#f2f2f2;
	margin-top:20px;
	font-size:16px;
}

.contents02-box .text01 span {
	color: #000;
	font-weight: 600;
}


/*contents03*/

.contents03 {
	padding-top:75px;
	width:820px;
	margin-bottom:40px;
}

.contents03-box {
	padding:30px;
	border: 12px solid #e5e5e5;
	margin-top:30px;
	padding-bottom:28px;
}

.contents03-box h5 {
	display:inline-block;
	padding:20px;
	padding-top:6px;
	padding-bottom:4px;
	background-color:#ea6000;
	font-family: fot-tsukubrdgothic-std, sans-serif;
font-style: normal;
font-weight: 400;
	font-size: 20px;
	line-height: 1.2;
	color: #FFF;
	letter-spacing:0.1em;
	border-radius:30px;
	margin-bottom:15px;
}

.contents03-box div {
	padding: 15px;
	padding-bottom: 15px;
	border-top-width: 1px;
	border-top-style: dashed;
	border-top-color: #b2b2b2;
}

.contents03-box div.box00 {
	border-top-style: none;
}

.contents03-box div h6 {
	display:inline-block;
	vertical-align:top;
	float:left;
	font-size:16px;
	line-height: 1.2;
	font-weight:normal;
}

.contents03-box div h6:before {
	content:"● ";
	font-size:15px;
}

.contents03-box div p {
	display:inline-block;
	vertical-align:top;
	float:right;
	text-align:right;
	font-size:16px;
	line-height: 1.2;
}


/*list*/

.contents01 .box-inner {
	padding: 0px;
	background-color: rgba(0,0,0,0);
	border-radius: 0px;
	padding-bottom:50px;
}

.contents01 .box-inner {
	display: flex;
  justify-content: center;
	gap:0px 20px;
}

.contents01 .box-inner .box-box {
	
}


.contents01 .box-inner p img {
	width: 330px;
	height: auto;
}

.contents01 .contents02-box p.text02 {
	border-radius: 0px;
}

.contents01 h4.orange {
	color: #ea6000;
	font-size: 24px;
}

.title-text {
	margin-top: 80px;
}

/*contact*/

.contents03.contact {
	padding-top: 75px;
    width: 1170px;
}

.contents03.contact .contact-group {
	padding: 30px;
    border: 12px solid #e5e5e5;
    margin-top: 30px;
    padding-bottom: 28px;
}


.contact h4.midashi02 {
	text-align: center;
    font-family: fot-tsukubrdgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.3em;
    color: #000;
    margin: 35px auto 50px;
    letter-spacing: 0.1em;
}

.contact h4.midashi02a {
	text-align: center;
    font-family: fot-tsukubrdgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.3em;
    color: #000;
    margin: 35px auto 50px;
    letter-spacing: 0.1em;
}


.contact table {
	width: 100%;
	text-align: left;
}

.contact table tr {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    border-radius: 8px;
    overflow: hidden; 
}

.contact table tr:not(:last-child) {
	margin-bottom: 25px;
}

.contact table tr td {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 400;
    color:#4c4c4c;
	font-size: 16px;
    line-height: 1.2;
letter-spacing: 0.1em;
}

.contact table tr td:first-child {
	flex: 1;
color: #FFF;
    background-color: #eb6200;
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
    padding: 15px 0px;
}

.contact table tr td:last-child {
	width: 75%;
   border-radius: 0 8px 8px 0;
	border: 1px solid #d9d9da;
    display: flex;
  justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
}

.contact table tr.box-radio td:last-child {
    background-color: rgba(0,0,0,0);
    padding-left: 20px;
	border-color: rgba(0,0,0,0);
	
}

.box-date select {
  margin-right: 4px; /* 「月」「日」との間隔を少しだけ */
  padding: 5px;
  font-size: 14px;
}

.box-date {
  display: flex;
  align-items: center;
  gap: 8px; /* 月日や入力欄全体の余白調整 */
}

.box-date input[type="text"] {
  margin-left: 10px; /* 日とテキスト入力の間隔 */
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  width: 400px;
}




.contact table span.sp-view {
	display: none;
}

.contact table tr td input {
	width:100%;
	border-radius: 10px;
	border-style : solid;
border-color : rgba(0,0,0,0);
border-width : 1px;
}

.contact table tr td input.radio {
	width: 15px;
}

.contact table tr td textarea {
	width:100%;
	border-radius: 10px;
	border-style : solid;
border-color : rgba(0,0,0,0);
border-width : 1px;
}

.contact table tr td textarea.theme-textarea {
	width:100%;
	border-radius: 10px;
	border: 1px solid #d9d9da;
}


.contact table tr.errer td {
	color: var(--color-main);
	vertical-align: middle;
}

.contact table tr td textarea.theme-textarea {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fff;
  margin-top: 10px;
  box-sizing: border-box;
}

.contact table tr td.date-select{
  display: flex;                 /* 既存がflexなので継続 */
      /* ← 中央寄せに変更 */
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.contact table tr td.date-select select{
  width: auto !important;
  min-width: 88px;
  max-width: 110px;
}

/* 月/日プルダウンの幅を固定したい場合 */
.contact table tr td.date-select .month-select,
.contact table tr td.date-select .day-select{
  width: 90px !important;
}

/* 開催時間のテキストは軽く広めにして中央配置を保つ */
.contact table tr td.date-select input[type="text"]{
  width: 260px;            /* お好みで調整 */
  max-width: 100%;
  text-align: center;
}





.contact span.c01 {
	line-height: 1.6;
	color: var(--color-main);
	vertical-align: top;
	display: inline-block;
	padding-left: 10px;
}

.contact span.req {
	color: #FFD700;
	padding-left:8px;
}

p.text02 {
	line-height: 1.6;
}

.contact p.error_messe {
    color: var(--color-main);
}

input,textarea,button{
	margin:0;
	padding:10px;
	font-size:100%;
	font-weight: 400;
}

td div.space {
	margin-top: 20px;
}

input[type="text"] {
	outline: 0;
	border: 1px solid rgba(0,0,0,0);
}

textarea[type="textarea"] {
	border: 1px solid rgba(0,0,0,0);
	padding: 10px;
}

/* input や textarea のフォーカス時に青枠を消す */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
  outline: none;
  box-shadow: none;   /* Safari対策 */
  border: 1px solid rgba(0,0,0,0); /* 枠線も透明に */
}

/* 入力系は枠内で折り返し・はみ出し禁止 */
.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"],
.contact select,
.contact textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;     /* ← flex 子要素のはみ出し防止 */
}



.button {
	text-align: center;
	margin-top: 50px;
}

button {
	cursor: pointer;
    border: none;
    background-color: rgba(0, 0, 0, 0);
}

.button img {
	height:40px;
	width:auto;
}

button span, a.btn-mail, .btn-box input, .btn-back {
	display:inline-block;
	padding:20px 70px;
    font-family: 'Zen Maru Gothic', sans-serif;
	color:#fff;
	background-color:#eb6200;
    font-size: 18px;
	letter-spacing:0.1em;
	transition: .5s;
	border : solid rgba(255,255,255,0) 1px;
	border-radius: 8px;
}

button:hover span, a.btn-mail:hover, .btn-box input:hover, .btn-back:hover {
	background-color: #e62319;
}


.btn-box {
	padding-top: 40px;
	margin-bottom:30px;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
	gap:10px;
}



#formWrap {
	width:100%;
	padding-top: 40px;
	padding-bottom: 40px;
	margin:0 auto;
	line-height:1.6;
	font-size: var(--base-font-size);
}

table.formtable{
	width:92%;
	margin:0 auto;
	border-collapse:collapse;
}

table.formtable td, table.formtable th {
	font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 400;
    color:#eb6200;;
	font-size: 14px;
    line-height: 1.2;
letter-spacing: 0.1em;
}

table.formtable th{
	flex: 1;
color: #FFF;
    background-color: #eb6200;;
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
    padding: 15px 0px;
}

table.formtable td:last-child{
	padding-left: 20px;
}


.contact h4 {
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin-bottom:30px;
}

.contact h5 {
	line-height: 1.6;
	letter-spacing: 0.3em;
	font-size: 24px;
	text-align: center;
	margin-bottom: 20px;
}

span.text003 {
	display:none;
}


.contact .checktext {
    width: 100%;
	text-align: center;
	padding-top: 70px;
	margin:0 auto;
}

.contact .checktext h6 {
    font-family: 'Zen Maru Gothic', sans-serif;;
    font-weight: 400;
	font-size: 20px;
line-height: 1.2;
    letter-spacing: 0.1em;
letter-spacing: 0.16;
	margin-bottom: 20px;
}

.contact .checktext div.box-text {
	background-color: #fff;
	border:2px solid #e5e5e5;
	margin-bottom: 20px;
	text-align: left;
	overflow: auto;
	height: 200px;
}

.contact .checktext div.box-text .box-box {
	padding: 30px;
}

.contact .checktext div.box-text p {
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.contents-contact .maincontents-inner {
	padding-top: 0px;
}

.contact table tr td.date-select select,
.contact table tr td.date-select input[type="text"]{
  border: 1px solid #d9d9da !important;
  border-radius: 6px;
  background: #fff;
}

/*banner*/
.banner {
	text-align: center;
	margin: 0 auto 80px;
}

.banner a:hover img {
    opacity: 0.75;
}



.sp-view {
    display: none;
}

html, body {
    height: 100%;
}


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


/*contents01*/

.contents01 {
	padding-top:20px;
	width:92%;
	margin-bottom:80px;
}


.contents02-box {
	padding:20px;
	border: 6px solid #e5e5e5;
}

	
.midashi01a {
    display: block;                /* 横並び */
    font-size: 26px;
}

h3.midashi01a{
  display:inline-flex;         /* 要素幅＝中身の幅に */
  justify-content:center;      /* 中身も中央寄せ(保険) */
  align-items:center;
  gap:20px;
  line-height:1.4;
  margin:0;                    /* h3のデフォルト余白をリセット */
  background:none;
}

.midashi01-icon {
    width: 80px;                  /* アイコンサイズ調整 */
    height: auto;
}
	
.midashi02 {
		margin-left: auto;
		margin-right: auto;
	}
	
.midashi02.spsize {
		font-size: 14px;
	}	
	
.midashi02.spsize01 {
		font-size: 13px;
	}	
		

/*contents03*/

.contents03 {
	width:92%;
}

.contents03-box {
	padding:20px;
	border: 6px solid #e5e5e5;
}


.contents03-box div {
	padding: 10px;
	padding-top:15px;
	padding-bottom: 15px;
}


.contents03-box div h6 {
	display:block;
	float: none;
	margin-bottom:10px;
	clear:both;
}

.contents03-box div p {
	display:block;
	float: none;
	clear:both;
}

.contents01 h4.orange {
	margin-top: 70px;
	font-size: 18px;
}	
	
.contents02-box .text02 {
	padding:10px;
	font-size:16px;
	line-height: 1.4;
}	
	
.contents01 .box-inner {
	display: flex;
	flex-wrap: wrap;
	gap:0px 50px;
	padding-bottom: 20px;
}
	
.contents01 .box-inner .box-box {
	width: 92%;
	padding-bottom: 8px;
}
	
.contents01 .box-inner p img {
    width: 100%;
    height: auto;
	
}	
	
/*contact*/
.contents03.contact  {
	padding-top: 20px;
    width: 92%;
	}	
	
.contact h4.midashi02a {
   font-size:14px;
}	

.contact h4.midashi02 {
		font-size: 26px;
	}	
	
.contact table tr {
  justify-content: center;
	border-radius:12px;        
  overflow: hidden;
}

.contact table tr:not(:last-child) {
	margin-bottom: 20px;
}

.contact table tr td {
	font-size: 16px;
}

.contact table tr td:first-child {
	width: 100%;
	 border:none;
  border-radius:12px 12px 0 0; /* ← 上左右を丸く */
  padding:12px 0;
}

.contact table tr td:last-child {
	width: 100%;
	 box-sizing:border-box;
 padding: 6px 10px;             
  border:1px solid #d9d9da;
  border-top:none;             
  border-radius:0 0 12px 12px; 
}

.contact table tr.box-radio td:last-child {
    padding-left: 10px;
    padding-top: 10px;
}
	



.button {
	margin-top: 40px;
}


#formWrap {
	padding-top: 50px;
	padding-bottom: 50px;
}

table.formtable td, table.formtable th {
	font-size: 16px;
}

table.formtable th{
	width: 100%;
    padding: 10px 0px;
}
	
.date-select {
  display: flex;
  justify-content: center;  /* 真ん中に配置 */
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 auto;           /* ブロック自体を中央へ */
  text-align: center;
}

/* 月・日プルダウン */
.date-select .month-select,
.date-select .day-select {
  width: 80px;
  flex: 0 0 auto;
  text-align: center;
}

.date-select input[type="text"] {
  flex: 1;           /* 残りの幅いっぱい */
  min-width: 160px;  /* 最小幅を確保 */
}	
	



.contact h4 {
	margin-bottom:20px;
}

.contact h5 {
	letter-spacing: 0.2em;
	font-size: 20px;
}

.contact .checktext {
	padding-top: 50px;
}

.contact .checktext div.box-text .box-box {
	padding: 20px;
}
	
  .contact table tr.box-radio td:last-child label {
    display: block;          /* 横並びから縦並びへ */
    margin-bottom: 8px;     /* 各項目の下にスペース */
    line-height: 1.6;        /* 行間も少し広げる */
  }
	
	
button span, a.btn-mail, .btn-box input, .btn-back {
	padding: 20px 40px;
	font-size:16px;
}	
	
	
/* ===== スマホ時（～737px）フォーム一式を確実に中央へ ===== */
@media (max-width: 737px){

  /* セクションそのものを中央寄せ */
  .contents03.contact{
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }

  /* 白枠ボックス（外枠）も中央＆はみ出し防止 */
  .contents03.contact .contact-group{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;  /* padding + border を含めて100%に */
    padding: 20px;           /* 既存より少し控えめ、好みでOK */
    border-width: 6px;       /* 既存に合わせて軽く */
  }

  /* テーブルを中央に固定。はみ出し防止 */
  .contact table{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    table-layout: fixed;
  }

  /* 1行（tr）は左右余白をゼロにして中央へ */
  .contact table tr{
    margin-left: 0;
    margin-right: 0;
  }

  /* 見出しセル・入力セルとも幅100%＋box-sizingでズレ防止 */
  .contact table tr td:first-child,
  .contact table tr td:last-child{
    width: 100%;
    box-sizing: border-box;
  }

  /* （お好み）入力セルの内側余白を統一して左右の見え方を揃える */
  .contact table tr td:last-child{
    padding: 10px 12px;
  }
}

.contact table tr td.date-select select,
.contact table tr td.date-select input[type="text"]{
  border: 1px solid #d9d9da !important;
  border-radius: 6px;
  background: #fff;
	}
	
/*banner*/
.banner {
	width: 92%;
	text-align: center;
	margin: 0 auto 50px;
}
	
.banner img {
	width: 100%;
}	
	
.contents03 {
		margin-bottom: 20px;
	}	
	
	

    .pc-view {
        display: none;
    }
    .sp-view {
        display: block;
    }
   
}
