@charset "utf-8";

/* ==========================================================================
   Foundation
   ========================================================================== */

/* Reset
   ----------------------------------------------------------------- */

html,
body,
address,
blockquote,
div,
dl,
form,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
table,
ul,
dd,
dt,
li,
tbody,
td,
tfoot,
th,
thead,
tr,
button,
del,
ins,
map,
object,
a,
abbr,
acronym,
b,
bdo,
big,
br,
cite,
dfn,
em,
img,
kbd,
q,
smap,
span,
strong,
sub,
sup,
tt,
var,
legend,
fieldset {
	margin: 0;
	padding: 0
}

/* Base
   ----------------------------------------------------------------- */

*,
*:before,
*:after {
	box-sizing: border-box
}

html {
	font-size: 16px;
}

html,
body {
	width: 100%;
	min-height: 100%;
	height: auto
}

body {
	font-size: 1rem;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-o-font-smoothing: antialiased;
}

/* PC */
@media only screen and (min-width: 970px) {
	html {
		width: 100%;
	}
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
header,
hgroup,
main,
nav,
section summary {
	display: block
}

img {
	width: 100%;
}

img,
fieldset {
	border: 0
}

audio,
canvas,
video,
progress {
	display: inline-block
}

audio:not([controls]) {
	display: none;
	height: 0
}

/* 多分使わないが....*/

[hidden],
template {
	display: none
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-size: 1em
}

p {
	margin: 0
}

ol,
ul {
	margin: 0;
	padding: 0
}

li {
	list-style: none
}

dl,
dd {
	margin: 0
}

small {
	font-size: 100%
}

em {
	font-style: normal;
}

a {
	color: #212121;
	text-decoration: none;
	outline: none;
}

a:hover {
	text-decoration: none;
}

a:focus,
*:focus {
	outline: none;
}

/* ==========================================================================
   Layout
   ========================================================================== */


/* CONTAINER
  ----------------------------------------------------------------- */

.l-container {
	width: 100%;
	min-width: 1020px;
}

.l-container__header {
	padding-left: 1%;
	padding-right: 1%;
}

/* body
   ----------------------------------------------------------------- */

#body {
	background: #fff;
}

/* Header
   ----------------------------------------------------------------- */

#header {
	text-align: center;
	color: #333;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.6);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	z-index: 1002;
}

/* Main
   ----------------------------------------------------------------- */

#main {
	width: 100%;
}

@media (min-width: 992px) {
	.container {
		width: 100%;
	}
}

/* Aside
   ----------------------------------------------------------------- */

/* Section
  ----------------------------------------------------------------- */

#section {
	width: 100%;
	display: block;
}

/* Footer
  ----------------------------------------------------------------- */

#footer {
	margin-bottom: 4%;
}

@media screen and (min-width: 1024px) {
	#footer {
		margin-bottom: 1%;
	}
}


/* ==========================================================================
   Object - 繰り返されるビジュアルパターンをすべてObject
   ========================================================================== */

/* Component - 繰り返し使われる小さなパターンCSS
   ----------------------------------------------------------------- */

/* ie 表示・非表示 */
.txt-attention {
	display: none;
}

.ie9l {
	display: block;
}

.fa-internet-explorer {
	color: #64ccd2;
}


.c-dflex {
	display: -webkit-flex;
	display: flex;
}

.c-cflex {
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.c-sflex {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

@media screen and (max-width: 640px) {
	.c-wflex {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

@media screen and (min-width: 1024px) {
	.c-dflex {
		-webkit-flex-direction: row;
		flex-direction: row;
		display: block\9;
		width: 900px\9;
		margin: 0 auto\9;
	}

}

/* ===============================
   HEADER
   =============================== */

.top-bar {
	background-color: #000;
	color: #fff;
	padding: 0.5rem 3%;
	font-size: 0.9em;
}

.top-bar a,
.top-bar__link {
	color: #fff;
	text-decoration: none;
}

.top-bar__list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.5rem;
}

.top-bar__address {
	margin: 0;
	font-size: 1em;
}

.main-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 3%;
	position: relative;
	font-weight: bold;
}

/* ロゴ */
.logo {
	height: auto;
}

.logo h1 {
	margin: 0;
}

.logo a {
	display: block;
	line-height: 0;
}

.logo img {
	display: block;
	width: 91px;
	max-width: none;
}

/* ハンバーガーボタン */
.hamburger-btn {
	display: none;
	flex-direction: column;
	background: none;
	border: none;
	cursor: pointer;
	width: 30px;
	height: 30px;
	justify-content: space-between;
	z-index: 1001;
	position: relative;
	padding: 6px 0;
}

.hamburger-btn span {
	width: 100%;
	height: 3px;
	background-color: #888;
	transition: all 0.3s ease;
	border-radius: 2px;
}

/* ハンバーガーボタンのアニメーション */
.hamburger-btn.active span:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.hamburger-btn.active span:nth-child(2) {
	opacity: 0;
}

.hamburger-btn.active span:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -6px);
}

/* ナビゲーション */
.nav {
	display: block;
}

.nav-list {
	display: flex;
	list-style: none;
	align-items: center;
	font-size: 16px;
}

.nav-list>li {
	position: relative;
	margin: 0 2rem;
}

.nav-list>li>a {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #333;
	padding: 0.5rem;
	white-space: nowrap;
	transition: color 0.3s ease;
	position: relative;
}

/* 統一されたボーダー長のための疑似要素 */
.nav-list>li>a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 1px;
	background-color: #e6e6e6;
	transition: width 0.4s ease;
}

.nav-list>li>a:hover::after {
	width: 135px;
}

.nav-list img {
	margin-right: 0.5rem;
	width: 30px;
	height: auto;
}

/* サブメニュー */
.submenu {
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	list-style: none;
	min-width: 200px;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
}

.has-submenu:hover .submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.submenu li {
	background-color: #ddd;
	border-bottom: 1px solid #eee;
}

.submenu li:last-child {
	border-bottom: none;
}

.submenu a {
	display: block;
	padding: 0.8rem 1rem;
	text-decoration: none;
	color: #333;
	transition: background-color 0.3s ease;
}

.submenu a:hover {
	background-color: #0e0e0e;
	color: #fff;
	transition: 0.4s ease;
}

/* モバイルレスポンシブ */
@media screen and (max-width: 1130px) {

	.hamburger-btn {
		display: flex;
	}

	.nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 280px;
		height: 100vh;
		background-color: #fff;
		z-index: 1000;
		transition: right 0.3s ease;
		box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
		overflow-y: auto;
	}

	.nav.active {
		right: 0;
	}

	.nav-list {
		flex-direction: column;
		padding: 4rem 0 2rem;
		align-items: stretch;
		justify-content: center;
		height: 100vh;
	}

	.nav-list>li {
		margin: 0;
		border-bottom: 1px solid #eee;
	}

	.nav-list>li:last-child {
		border-bottom: none;
	}

	.nav-list>li>a {
		padding: 1rem 1.5rem;
		justify-content: center;
	}

	/* モバイルでは疑似要素のボーダーを非表示にし、背景色変更に戻す */
	.nav-list>li>a::after {
		display: none;
	}

	.nav-list>li>a:hover {
		background-color: #0e0e0e;
		color: #fff;
		transition: 0.4s ease;
	}

	.nav-list img {
		margin-right: 1rem;
	}

	.nav-list span br {
		display: none;
	}

	/* モバイル用サブメニュー */
	.submenu {
		position: static;
		box-shadow: none;
		border: none;
		border-top: 1px solid #eee;
		background-color: #f8f9fa;
		transform: none;
		opacity: 1;
		visibility: visible;
		max-height: none;
		overflow: visible;
	}

	.submenu a {
		padding: 0.8rem 2.5rem;
	}

	/* オーバーレイ */
	.mobile-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 999;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
	}

	.mobile-overlay.active {
		opacity: 1;
		visibility: visible;
	}
}

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

	.nav {
		width: 100%;
		right: -100%;
	}
}

/* ===============================
   HERO SECTION
   =============================== */
.hero {
	position: relative;
	width: 100%;
	height: 32rem;
	background: url(../images/ifb-salt-lake.jpg) no-repeat center center;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ロゴ画像中央配置 */
.hero__overlay {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.hero__logo {
	width: 40%;
	max-width: 280px;
	height: auto;
	padding: 1rem;
	background: rgba(255, 255, 255, 0.6);
}

/* =============================== 
   HERO VARIATION: Salt Mountains
   =============================== */
.hero--salt {
	background: url(../images/Salt-mountains.jpg) no-repeat center 75%;
}

.salt-lake {
	background: url(../images/salt-lake.jpg) no-repeat center 75%;
}

.solt-conact {
	background: url(../images/solt-conact.jpg) no-repeat center 75%;
}

.salt-forest {
	background: url(../images/salt-forest.jpg) no-repeat center 75%;
}

.solt-mountain {
	background: url(../images/salt-forest.jpg) no-repeat center 75%;
}

.factory {
	background: url(../images/factory.jpg) no-repeat center 75%;
}

.PerformanceImg {
	background: url(../images/factory.jpg) no-repeat center 75%;
}

/* ======== レスポンシブ調整 ======== */

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1023px) {
	/* .hero {
		height: 40rem;
	} */

	.hero__logo {
		width: 25%;
		max-width: 220px;
	}
}

/* PC */
@media screen and (min-width: 1024px) {
	/* .hero {
		height: 51rem;
	} */

	.hero__logo {
		width: 20%;
		max-width: 320px;
	}
}

/* 横向きモード対応 */
@media screen and (orientation: landscape) {
	.hero__logo {
		background: rgba(255, 255, 255, 0.6);
	}
}

/* ===============================
   共通ユーティリティ
   =============================== */

/* セクションの上下余白を統一 */
.u-section-spacing {
	margin: 1rem auto;
}

@media screen and (min-width: 1024px) {
	.u-section-spacing {
		margin: 2.5rem auto;
	}
}

/* セクション内側余白（上下左右）を統一 */
.u-section-padding {
	padding: 40px 20px;
}

@media screen and (min-width: 1024px) {
	.u-section-padding {
		padding: 80px;
	}
}

/* セクション見出し下の余白を統一 */
.u-section-title-spacing {
	margin-bottom: 2.5rem;
}

@media screen and (min-width: 768px) {
	.u-section-title-spacing {
		margin-bottom: 4rem;
	}
}

@media screen and (min-width: 1024px) {
	.u-section-title-spacing {
		margin-bottom: 5.5rem;
	}
}

/* セクション見出し上の余白を統一 */
.u-section-title-top-spacing {
	margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
	.u-section-title-top-spacing {
		margin-top: 4rem;
	}
}

@media screen and (min-width: 1024px) {
	.u-section-title-top-spacing {
		margin-top: 5.5rem;
	}
}

/* セクション下の余白を統一 */
.u-section-bottom-spacing {
	margin-bottom: 2rem;
}

.center {
	text-align: center;
	margin: 0 auto;
}

@media screen and (max-width: 640px) {
	.wrap {
		flex-wrap: wrap;
	}
}

/* ===============================
   SECTION: 天然塩コンテンツ
   =============================== */

.section-salt {
	width: 90%;
	background-color: #fff;
}

.section-salt__header {
	text-align: center;
}

.section-salt__title {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	color: #333;
	text-align: center;
}

.section-salt__content {
	text-align: justify;
}

.section-salt__text {
	color: #666;
	font-size: 1rem;
	line-height: 2
}

/* レスポンシブ */
@media screen and (min-width: 768px) {
	.section-salt {
		width: 85%;
	}

	.section-salt__title {
		font-size: 2rem;
	}

	.section-salt__text {
		font-size: 1rem;
		line-height: 2;
	}
}

@media screen and (min-width: 1024px) {
	.section-salt {
		width: 80%;
	}

	.section-salt__title {
		font-size: 2.125rem;
		line-height: 1.8;
	}

	.section-salt__text {
		line-height: 2;
		font-weight: bold;
	}
}

/* ===============================
   SECTION: 見出し画像
   =============================== */

.section-salt__image {
	width: 100%;
	height: 12rem;
	background: url(../images/salt-hands.jpg) no-repeat center 75%;
	background-size: cover;
	position: relative;
}

@media screen and (min-width: 1024px) {
	.section-salt__image {
		height: 31.875rem;
		margin-top: -9%;
		z-index: -1;
	}
}

/* ===============================
   SECTION: HACCPセクション
   =============================== */

.section-HACCP {
	width: 90%;
	background-color: #fff;
}

.section-HACCP__content {
	text-align: justify;
}

.section-HACCP__text {
	color: #666;
	font-size: 1rem;
	line-height: 2;
}

/* レスポンシブ */
@media screen and (min-width: 768px) {
	.section-HACCP {
		width: 85%;
	}

	.section-HACCP__text {
		font-size: 1rem;
		line-height: 2;
	}
}

@media screen and (min-width: 1024px) {
	.section-HACCP {
		width: 80%;
		margin: -6% auto;
	}

	.section-HACCP__text {
		line-height: 2;
		font-weight: bold;
	}
}

/* ===============================
   SECTION: お問い合わせ
   =============================== */

.section-contact {
	width: 80%;
	margin: 6% auto;
	text-align: center;
	border: 1px solid #c3c3c3;
	background-color: #fff;
	padding: 1rem;
}

/* 見出し */
.section-contact__title {
	font-size: 2em;
	font-weight: bold;
	line-height: 2.5;
}

/* 説明文 */
.section-contact__text {
	line-height: 2;
}

/* 電話/FAXリスト */
.section-contact__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5%;
	padding: 0;
	list-style: none;
}

.section-contact__address {
	font-size: clamp(1em, 1em + 0.5vw, 1.5em);
	line-height: 2;
}

/* ボタン */
.section-contact__button {
	display: inline-block;
	height: 45px;
	margin: 1% auto;
	position: relative;
	z-index: 1;
}

.section-contact__button .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: #8C8C7E;
	color: #fff;
	font-size: 1.5em;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s;
	position: relative;
	overflow: hidden;
}

.section-contact__button .btn:hover {
	background-color: #cecdcd;
	color: #fff;
}

.section-contact__button .btn.paper-raise::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	transition: all 0.25s ease-out;
}

/* ===============================
   SECTION: 25kg商品セクション
   =============================== */
.section-salt25 {
	width: 90%;
	background-color: #fff;
	text-align: center;
}

.section-salt25__title {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	color: #333;
}

.section-salt25__content {
	display: flex;
	justify-content: center;
}

.section-salt25__center {
	align-items: center;
}

.section-salt25__text {
	color: #666;
	font-size: 1rem;
	line-height: 2;
	text-align: left;
}

.section-salt25__img {
	display: block;
	margin: 2rem auto;
	width: 200px;
	height: auto;
}

.section-salt25__image {
	display: block;
	margin: 2rem auto;
	width: 68%;
	height: auto;
}

@media screen and (min-width: 1024px) {
	.section-salt25 {
		width: 80%;
	}

	.section-salt25__title {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.section-salt25__text,
	.section-salt25__text__center {
		font-weight: bold;
	}
}

/* ===============================
   SECTION: 商品詳細
   =============================== */

.section-product dl,
.section-product th {
	text-align: center;
}

.section-product__term,
.section-product__desc {
	font-size: 0.875rem;
	line-height: 1.5;
	padding: 0.5rem 1rem;
	border: 1px solid #ccc;
}

.section-product__term {
	background: #f0f0f0;
	font-weight: 700;
}

.section-product__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: center;
}

.section-product__table th {
	background: #f0f0f0;
}

.section-product__table th,
.section-product__table td {
	border: 1px solid #ccc;
	padding: 0.5rem;
}

/* ===============================
   SECTION: ハーヴェスト紹介
   =============================== */
.section-harvest {
	width: 80%;
	background-color: #fff;
	text-align: center;
}

.section-harvest__title {
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.5rem;
}

.section-harvest__text {
	font-size: 1rem;
	color: #666;
	line-height: 2;
	text-align: justify;
	margin-bottom: 2rem;
}

@media screen and (min-width: 1024px) {
	.section-harvest__text {
		font-weight: bold;
	}
}

/* ===============================
	 SECTION: recipe
	 =============================== */
.recipe__text {
	margin: 2rem auto;
	flex: 5;
}

.voice__img img {
	width: 50%;
	height: auto;
}

.voice__text {
	flex: 7;
	text-align: left;
}

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

	.recipe__text,
	.voice__img,
	.voice__text {
		flex: 100%;
	}
}

/* ===============================
	 吹き出し
	 =============================== */
.balloon-left {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 20px;
	max-width: 100%;
	background: #e0edff;
	border-radius: 12px;
}

.balloon-left:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #e0edff;
}

.balloon-left p {
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 640px) {
	.balloon-left {
		margin-left: 0;
		margin-top: 30px;
	}

	.balloon-left:before {
		top: -30px;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		margin: 0;
		border: 15px solid transparent;
		border-right: 15px solid #e0edff;
	}
}

/* ===============================
	 SECTION: 写真整列
	 =============================== */
.section-salt-img__content {
	display: flex;
	justify-content: center;
	gap: 40px;
}

.section-salt25__text__center {
	flex: 1 1 auto;
	color: #666;
	font-size: 1rem;
	line-height: 2;
}

@media screen and (max-width: 480px) {
	.section-salt-img__content {
		display: block;
	}

	.section-salt25__text__center {
		margin-bottom: 1.5rem;
	}

	.section-salt25__text__center:last-child {
		margin-bottom: 0;
	}
}

/* ===============================
	 SECTION: 写真調整
	 =============================== */
.section-salt-img__small {
	width: 47%;
	height: auto;
}

@media screen and (max-width: 480px) {
	.section-salt-img__small {
		width: 100%;
	}
}

.solt-product__img {
	height: auto;
	margin: 0 auto 2rem;
	display: block;
}

.recipe__img {
	max-width: 375px;
}

/* ===============================
	 SECTION: 余白調整
	 =============================== */
.section-salt25+.section-harvest {
	margin-top: 0;
	padding-top: 0;
}

.section-salt25+.section-salt25 {
	margin-top: 0;
	padding-top: 0;
}

.gap {
	gap: 20px;
}

@media screen and (max-width: 600px) {
	.recipe__text+.recipe__text {
		margin-top: 0;
		padding-top: 0;
	}

	.gap {
		gap: 0;
	}
}


/* ===============================
	 色調節
	 =============================== */
.blue {
	color: #4677ff;
}

.red {
	color: #ff4646;
}

/* ===============================
	 その他
	 =============================== */

.h2-title {
	padding-bottom: 2%;
	border-bottom: dotted 2px #ddd;
}

.companyprofile-ul li {
	line-height: 3;
	letter-spacing: 3px;
}

.companyprofile-li {
	padding-top: 1em;
}

.companyprofile__logo-img {
	margin: 3%;
	margin-left: auto;
	width: 10%;
}

.cobsaru {
	border: 1px solid #ddd;
	padding: 20px;
}

.cobsaru img {
	width: auto;
	height: auto;
}

@media screen and (min-width:1024px) {
	.privacy-policy {
		width: 60%;
	}

	.c-main-privacy-policy__p {
		font-size: 1.3em;
		font-weight: normal;
	}

	.c-main-privacy-policy__h3 {
		font-size: 1.5em;
		font-weight: 500;
	}

	.c-main-privacy-policy__pre {
		background: #fff;
		padding: 2%;
		margin-top: 1%;
		margin-bottom: 1%;
	}

	.content-HACCP {
		width: 80%;
		margin: -3% auto;
		padding: 10px;
		background-color: #ffffff;
	}
}

/* フォーム 変更する事を考慮しているが 他の要素に影響内容に普通のCSSを書く */
#formHead {
	width: 80%;
	margin: 0 auto;
}

#formHead .c-form-text h2 {
	font-size: 2em;
	font-weight: bold;
	padding-top: 2%;
	padding-bottom: 2%;
}

.c-form-text {
	text-align: center;
}

.c-form-text h2 {
	font-size: 2em;
	display: block;
	margin-top: 3%;
	margin-bottom: 4%;
}

.c-form-text p {
	font-size: 1.2em;
}

.c-formbody {
	margin: 0 auto;
}

#formbody {
	margin-top: 4%;
}

#formbody dl {
	display: block;
}

#formbody dl {
	display: table;
	width: 100%;
	border-bottom: 1px dotted #929285;
	padding-bottom: 20px;
	margin-bottom: 25px;
}

#formbody dl {
	display: table;
	border-bottom: 1px dotted #929285;
	padding-bottom: 20px;
	margin-bottom: 25px;
}

#formbody dt {
	width: auto;
	text-align: left;
	padding-right: 0;
	margin-bottom: 10px;
}

#formbody dt,
#formbody dd {
	display: block;
	font-size: 100%;
	margin-left: 2%;
}

#formbody dd.name input {
	width: 90%;
}

#formbody dd.name label {
	white-space: nowrap;
	margin-left: 1%;
	margin-right: 3%;
	padding: 0;
	text-align: center;
}

#formbody dd p+p {
	margin-top: 2%;
}

#formbody dd.tel input {
	width: 26%;
}

#formbody dd.tel label {
	margin-left: 2%;
	margin-right: 2%;
	text-align: center;
	padding: 0;
}

#formbody dd.zipcode input.zip02 {
	width: 35%;
}

#formbody .btnarea {
	text-align: center;
	padding-bottom: 3%;
}

#formbody .btnarea span {
	width: 60%;
}

#formbody .btnarea span {
	display: inline-block;
	width: 135px;
	height: 45px;
	overflow: hidden;
	background: #666;
	z-index: 1;
}

#formbody .btnarea input {
	background: transparent;
	position: relative;
	z-index: 3;
}

#formbody input[type="submit"],
#formbody input[type="reset"],
#formbody input[type="button"],
#formbody button {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	outline: none;
	display: inline-block;
	width: 135px;
	height: 45px;
	margin: 0;
	padding: 0;
	color: #FFF;
	font-weight: 500;
	border: 0 none;
	cursor: pointer;
	-webkit-transition: color .3s;
	transition: color .3s;
}

#formbody input[type="text"],
#formBody input[type="password"],
#formbody input[type="tel"],
#formbody input[type="url"],
#formbody input[type="email"],
#formbody input[type="date"],
#formbody input[type="time"],
#formbody input[type="number"] {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	border: 0 none;
	background: #F2F2F1;
	color: #525252;
	padding: 0 5px;
	height: 32px;
}

#formbody textarea {
	border: 0 none;
	background: #F2F2F1;
	width: 90%;
	height: 136px;
	resize: vertical;
}

.radio input[type=radio],
.radio-inline input[type=radio],
.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox] {
	margin-left: 0;
}

.radio label,
.checkbox label {
	padding-top: 4px;
}

.form__bt {
	text-align: center;
}

@media screen and (min-width: 1024px) {

	#formbody dt {
		width: 230px;
		padding: 0 20px;
		font-weight: 700;
	}

	#formbody dd p {
		display: inline-block;
		width: 39%;
	}

	#formbody dd p.mansion {
		display: inline-block;
		width: 50%;
	}

	#formbody dd.name label {
		margin-right: 3%;
	}

	#formbody dt,
	#formbody dd {
		display: table-cell;
		color: #666;
		line-height: 1.9;
		vertical-align: middle;
	}

	.radio label,
	.checkbox label {
		padding-top: 0px;
	}
}

/* 会社概要 */
.company-table {
	display: table;
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto;
	text-align: center;
}

.company-row {
	display: table-row;
	border-top: 1px dotted #ddd;
}

.company-cell-title,
.company-cell-content {
	display: table-cell;
	padding: 15px 10px;
	vertical-align: middle;
}

.company-cell-title {
	font-weight: bold;
	white-space: nowrap;
}

.company-cell-content {
	text-align: center;
	line-height: 3;
	letter-spacing: 3px;
}

.company-list {
	padding-left: 1em;
	margin: 0;
}

.company-list-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1em;
	list-style: none;
	padding: 0;
	margin: 0;
}

.company-list-flex li {
	width: calc(50% - 1em);
	box-sizing: border-box;
	text-align: center;
}

/* レスポンシブ */
@media (max-width: 768px) {
	.company-row {
		display: block;
		border-top: 1px dotted #ddd;
		text-align: center;
	}

	.company-cell-title,
	.company-cell-content {
		display: block;
		width: 100%;
		padding: 10px 0;
	}

	.company-list-flex {
		flex-direction: column;
		gap: 5px;
	}

	.company-list-flex li {
		width: 100%;
	}
}

.copyright p {
	font-size: 0.75em;
	text-align: center;
}