body {
	font-size:17px;
	-webkit-text-size-adjust:100%;
	color:#3a2a22;
	background:#f8f3ef url("https://taiwa.i-kibun.com/taiwaform/bg.jpg");
	font-family:'メイリオ', Meiryo, sans-serif;
	line-height:1.7;
}

img{
	max-width:100%;
	height:auto;
	box-sizing:border-box;
}

.main{
	max-width:960px;
	margin:30px auto;
	padding:28px 22px 36px;
	background:rgba(255,255,255,0.92);
	border-radius:18px;
	box-shadow:0 8px 28px rgba(95,65,45,0.16);
	box-sizing:border-box;
}

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

	.main{
		width:98%;
		margin:10px auto;
		padding:16px 0 26px;
		border-radius:12px;
	}
}

#head{
	background:rgba(255,255,255,0.88);
	border-bottom:1px solid #e5d6cb;
}

#head-in{
	padding:18px 1.5em;
	text-align:center;
}


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

	#head-in{
		padding:14px 5px;
	}
}

#head h1{
	margin:0;
	padding:0;

	font-family:
		"ＭＳ 明朝",
		"MS Mincho",
		"BIZ UDPMincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;

	font-size:160%;
	font-weight:normal;
	line-height:1.5;
	letter-spacing:0.06em;

	text-align:center;
	color:#8d6449 !important;
}

#head h1 a{
	color:#8d6449 !important;
	text-decoration:none !important;
}

#head h1 a:hover{
	opacity:0.85;
}

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

	h1{
		font-size:120%;
		line-height:1.5;
	}
}

h2{
	font-family:
		"BIZ UDPMincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;

	font-weight:700;

	font-size:135%;
	line-height:1.6;
	text-align:center;

	border:none;
	padding:14px 18px;
	margin:0 auto 1.4em;

	width:92%;
	max-width:850px;
	box-sizing:border-box;

	color:#fff;
	background:linear-gradient(135deg,#A47A67,#C19B87);

	border-radius:12px;
	letter-spacing:0.12em;
}

@media screen and (max-width:640px){
	h2{
		font-size:120%;
		line-height:1.5;
		padding:14px 12px;
		letter-spacing:0.03em;
	}
}

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

	h2{
		font-size:120%;
		width:96%;
		padding:12px 14px;
		margin:0 auto 1em;
		line-height:1.45;
	}
}

h3{

	max-width:520px !important;

	margin:50px auto 25px auto !important;

	text-align:center !important;

	font-family:
		"BIZ UDPMincho",
		"Yu Mincho",
		serif !important;

	font-size:23px !important;

	color:#6b4c37 !important;

	letter-spacing:0.18em !important;

	background:none !important;

	border:none !important;

	box-shadow:none !important;

	font-weight:normal !important;

	padding:0 !important;
}

h3:after{

	content:"";

	display:block;

	width:120px;
	height:10px;

	margin:12px auto 0;

	background:
		radial-gradient(circle,#d9c4b2 2px,transparent 3px)
		center center / 24px 10px repeat-x;
}

.lead-box,
.about-box{
	width:90%;
	max-width:850px;
	margin:18px auto;
	text-align:left;
	line-height:1.8;
	background:#fffdfb;
	border:1px solid #eadbd0;
	border-radius:14px;
	padding:30px 24px;
	box-sizing:border-box;
	overflow:hidden;
}

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

	.lead-box,
	.about-box{
		width:98%;
		margin:12px auto;
		padding:16px 12px;
		line-height:1.7;
		overflow:hidden;
	}
}

.lead-box::after,
.about-box::after{
	content:"";
	display:block;
	clear:both;
}

.lead-box p,
.about-box p{
	margin:0 0 0.9em 0;
}

.lead-box img,
.about-box img{
	max-width:100% !important;
	height:auto !important;
	box-sizing:border-box;
}

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

	.lead-box img,
	.about-box img{
		float:none !important;
		display:block !important;
		width:70% !important;
		max-width:260px !important;
		height:auto !important;
		margin:0 auto 18px auto !important;
	}
}

table.enter{
	margin:28px auto;
	width:90%;
	max-width:430px;
	border:none;
	border-collapse:separate;
	border-spacing:0;
	background:#fff;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 6px 18px rgba(95,65,45,0.14);
	box-sizing:border-box;
}

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

	table.enter{
		width:98%;
		margin:10px auto;
	}
}

table.enter th{
	border:none;
	padding:1em;

	background:linear-gradient(
		135deg,
		#9A705E,
		#BC9985
	);

	color:#fff;
	text-align:center;
	font-size:105%;
	letter-spacing:0.12em;
}

table.enter td{
	border:none;
	padding:1.4em;
	background:#fff;
	font-family:verdana,helvetica,arial;
	box-sizing:border-box;
	line-height:1.5;
}

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

	table.enter td{
		padding:1.2em;
	}
}

input.len{
	width:100%;
	height:42px;
	margin-bottom:0.8em;
	font-size:16px;
	box-sizing:border-box;
	padding:0 12px;
	border:2px solid #d4bca9;
	border-radius:8px;
	background:#fffdfa;
}

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

	input.len{
		height:42px;
		font-size:16px;
	}
}

input.len:focus{
	outline:none;
	border-color:#8d6449;
	box-shadow:0 0 0 3px rgba(141,100,73,0.18);
}

div.btn{
	text-align:center;
}

div.btn input{

	width:180px;
	height:48px;

	border:1px solid #e3cfc0;
	border-radius:999px;

	background:linear-gradient(
		180deg,
		#f5ebe3 0%,
		#ead8c6 100%
	);

	color:#6b4c37;

	font-family:
		"BIZ UDPMincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;

	font-weight:700;
	font-size:15px;
	letter-spacing:0.12em;

	cursor:pointer;

	box-shadow:
		0 8px 20px rgba(80,55,35,0.12),
		0 2px 4px rgba(255,255,255,0.6) inset;

	transition:all .25s ease;
}

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

	div.btn input{
		width:100%;
		max-width:220px;
	}
}

div.btn input:hover{
	transform:translateY(-2px);

	box-shadow:
		0 12px 24px rgba(80,55,35,0.16),
		0 2px 4px rgba(255,255,255,0.7) inset;

	color:#8d6449;
}

div.btn input:hover{
	background:#745035;
}

.toc-box{
	max-width:520px;
	margin:42px auto;
	padding:26px 34px;

	background:rgba(255,253,250,0.72);

	border-top:1px solid #e4d3c4;
	border-bottom:1px solid #e4d3c4;

	text-align:center;
	box-sizing:border-box;
}

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

	.toc-box{
	width:90%;
	padding:18px 12px;
}
}

.toc-head{
	font-family:"BIZ UDPMincho","Yu Mincho",serif;
	font-size:23px;
	color:#6b4c37;
	letter-spacing:0.18em;
	margin-bottom:18px;
}

.toc-body{
	display:inline-block;
	text-align:left;
	line-height:2.1;
}

.toc-body a{
	color:#6b4c37;
	text-decoration:underline;
	text-underline-offset:4px;
}

.toc-body a:hover{
	color:#8d6449;
}

.topbtn{
	display:inline-block;

	padding:15px 38px;

	background:linear-gradient(
		180deg,
		#f5ebe3 0%,
		#ead8c6 100%
	);

	color:#6b4c37 !important;

	border:1px solid #e3cfc0;

	border-radius:999px;

	text-decoration:none;

	font-family:
		"BIZ UDPMincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;

	font-weight:700;
	font-size:15px;

	letter-spacing:0.12em;

	box-shadow:
		0 8px 20px rgba(80,55,35,0.12),
		0 2px 4px rgba(255,255,255,0.6) inset;

	transition:all .25s ease;
}

.topbtn:hover{
	transform:translateY(-2px);

	box-shadow:
		0 12px 24px rgba(80,55,35,0.16),
		0 2px 4px rgba(255,255,255,0.7) inset;

	color:#8d6449 !important;
} 

.readmore{
  position:relative;
  width:100%!important;
  box-sizing:border-box!important;
  max-width:850px;
  margin:18px auto!important;
  padding:0 10px!important;
  background:#fcfbf8!important;
  border-radius:10px!important;
  color:#4f3429!important;
  letter-spacing:0.04em;
}

@media screen and (max-width:640px){
  .readmore{
    padding:0 18px!important;
  }
}

.readmore-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 -10px!important;
  padding:14px 10px!important;
  background:#f3ece2!important;
  min-height:60px!important;
  border-radius:10px 10px 0 0!important;
}

@media screen and (max-width:640px){
  .readmore-title{
    margin:0 -18px!important;
    padding:14px 18px!important;
  }
}

.readmore-title h2{
  margin:0!important;
  padding:0!important;
  flex:1!important;
  background:none!important;
  border:none!important;
  font-size:24px!important;
  line-height:1.4!important;
  color:#6b4c37!important;
}

@media screen and (max-width:640px){
  .readmore-title h2{
    font-size:20px!important;
  }
}

.readmore-toggle,
.readmore-toggle-bottom{
  background:none!important;
  border:none!important;
  color:#816340!important;
  font-size:16px!important;
  cursor:pointer!important;
}

@media screen and (max-width:640px){
  .readmore-toggle,
  .readmore-toggle-bottom{
    font-size:13px!important;
  }
}

.readmore-content{
  height:220px;
  overflow:hidden;
  transition:height .4s ease;
  line-height:1.8;
  padding-top:20px!important;
}

.readmore-content.is_open{
  padding:20px 0 35px!important;
  overflow:visible;
}

.readmore-content h3{
  margin:0 0 25px!important;
  padding:0!important;
  text-align:center!important;
  font-size:20px!important;
  color:#6b4c37!important;
}

.readmore-content h3:after{
  content:"";
  display:block;
  width:80px!important;
  height:10px;
  margin:8px auto 0;
  background:
    radial-gradient(circle,#d9c4b2 2px,transparent 3px)
    center center / 24px 10px repeat-x;
}
