@charset "UTF-8";

* {
	margin: 0px;
	padding: 0px;
}

/********************************************************************
 * Bootstrap5 補正
 ********************************************************************/
:root {
	scroll-behavior: auto!important;
}
.navbar {
	margin-top: 1rem;
	padding: 0;
	width: 72px;
	height: 72px;
}
.navbar-toggler {
	width: 100%;
	height: 100%;
	padding: 10px;
}
.navbar-toggler:focus {
	box-shadow: none;
}
.navbar-toggler-icon {
	width: 100%;
	height: 100%;
}
.offcanvas.offcanvas-end {
	width: 18rem;
}
.offcanvas-header {
	justify-content: end;
}

@media (max-width: 450px) {
.navbar {
	margin-top: 0.5rem;
	width: 48px;
	height: 48px;
}
.navbar-toggler {
	padding: 6px;
}
}

/********************************************************************
 * jQuery UI カスタマイズ
 ********************************************************************/
div#tabs ul.ui-widget-header {
	display: flex;
	background-color: #ffffff;
	border: 1px solid #ffffff;
	border-bottom: 0px solid;
}
div#tabs ul.ui-widget-header li.ui-state-default {
	width: 100%;
	background-color: #cfcfcf;
	border-color: #ddd;
	color: #454545;
}
div#tabs ul.ui-widget-header li.ui-state-default a span {
	white-space: break-spaces;
	color: gray;
}
div#tabs ul.ui-widget-header li.ui-state-default.ui-tabs-active {
	top: 1px;
	background-color: #f6f6f6;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #f6f6f6;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
div#tabs ul.ui-widget-header li.ui-state-default.ui-tabs-active a span {
	color: blue;
}
div#tab-1,
div#tab-2,
div#tab-3 {
	background-color: #f6f6f6;
}
div#tab-1.ui-tabs-panel,
div#tab-2.ui-tabs-panel,
div#tab-3.ui-tabs-panel {
	border-width: unset;
	border-bottom-width: 1px;
	border-top-width: 1px;
	border-left-width: 1px;
	border-right-width: 1px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
}

/********************************************************************
 * 基本レイアウト
 ********************************************************************/
html,body {
	margin: 0 auto;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size: 18px;
}

header,main,footer {
	max-width: 1024px;
	min-width: 320px;
	margin: 0 auto;
	padding: 0 1rem;
}

@media (max-width: 768px) {
html,body {
	font-size: 20px;
}
.mobile-none-disp {
	display: none;
}
}
@media (max-width: 450px) {
html,body {
	font-size: 16px;
}
header,main,footer {
	padding: 0 0.5rem;
}
}
@media (max-width: 384px) {
html,body {
	font-size: 14px;
}
}
@media (max-width: 320px) {
html,body {
	font-size: 12px;
}
}
	
/********************************************************************
 * 共通
 ********************************************************************/
h2 {
	width: 100%;
	margin: 1rem auto;
	padding: 0 1rem;
	font-size: 1.8rem;
	color: #146303;
}
h3 {
	margin-bottom: 1rem;
	font-size: 1.3rem;
	color: #854a26;
	background: url(../img/h3_underline.png) bottom left repeat-x;
}
/*------------------------------------------------------------------*
 * H4で使用するSVGイメージのソース
 * <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="512px" height="512px" viewBox="0 0 512 512" style="width: 256px; height: 256px; opacity: 1;" xml:space="preserve"><g><path d="M473.818,0.003c0,0-18.578,28.297-139.938,70.172c-123.719,42.688-199.875,216.406-199.875,216.406 c-18.344,35.578-90.813,183.453-90.813,183.453c-19.953,38.172,16.625,60.734,38.063,21.313 c41.156-75.703,67.688-144.875,130.25-146.844c91.219-2.875,153.609-84.109,133.984-80.359 c-25.844,11.484-82.781,0.875-49.234-4.391c80.531-6.594,130.125-68.297,113.969-72.5c-28.563,11.219-55.172,0.578-60.391-2.656 C491.959,166.987,473.818,0.003,473.818,0.003z" style="fill: rgb(20,99,3);"></path></g></svg>
 *------------------------------------------------------------------*/
h4 {
	width: 100%;
	height: 1em;
	font-size: 1.2rem;
	padding-left: 1.3em;
	color: #146303;
	background: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0id2lkdGg6IDI1NnB4OyBoZWlnaHQ6IDI1NnB4OyBvcGFjaXR5OiAxOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTQ3My44MTgsMC4wMDNjMCwwLTE4LjU3OCwyOC4yOTctMTM5LjkzOCw3MC4xNzJjLTEyMy43MTksNDIuNjg4LTE5OS44NzUsMjE2LjQwNi0xOTkuODc1LDIxNi40MDYgYy0xOC4zNDQsMzUuNTc4LTkwLjgxMywxODMuNDUzLTkwLjgxMywxODMuNDUzYy0xOS45NTMsMzguMTcyLDE2LjYyNSw2MC43MzQsMzguMDYzLDIxLjMxMyBjNDEuMTU2LTc1LjcwMyw2Ny42ODgtMTQ0Ljg3NSwxMzAuMjUtMTQ2Ljg0NGM5MS4yMTktMi44NzUsMTUzLjYwOS04NC4xMDksMTMzLjk4NC04MC4zNTkgYy0yNS44NDQsMTEuNDg0LTgyLjc4MSwwLjg3NS00OS4yMzQtNC4zOTFjODAuNTMxLTYuNTk0LDEzMC4xMjUtNjguMjk3LDExMy45NjktNzIuNWMtMjguNTYzLDExLjIxOS01NS4xNzIsMC41NzgtNjAuMzkxLTIuNjU2IEM0OTEuOTU5LDE2Ni45ODcsNDczLjgxOCwwLjAwMyw0NzMuODE4LDAuMDAzeiIgc3R5bGU9ImZpbGw6IHJnYigyMCw5OSwzKTsiPjwvcGF0aD48L2c+PC9zdmc+") left no-repeat;
	background-size: contain;
}
@media (max-width: 768px) {
h2 {
	padding: 0;
	font-size: 1.5rem;
}
h3 {
	font-size: 1.1rem;
}
h4 {
	font-size: 1.1rem;
}
}

p {
	margin: 0.3rem 0 0.5rem 0;
	width: 100%;
}
p.center {
	margin: 0.3rem auto 0.5rem auto;
	width: fit-content;
}

div.notice {
	width: 90%;
	margin: 1rem auto;
	line-height: 1.1em;
}

div.error_box {
	width: 90%;
	margin: 1rem auto;
	padding: 0.5em;
	line-height: 1.1em;
	border: 1px solid red;
	border-radius: 0.4em;
	background-color: #ffeeee;
}

dl dt {
	font-weight: bold;
}
dl dd {
	margin-left: 2em;
}

ol, ul {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}
li ol,li ul {
	padding-left: 1em;
}
ol.number_type1 {
	list-style-type: none;
}
ol.number_type1>li {
	counter-increment: cntType1;
	position: relative;
	left: 2.5em;
	width: calc(100% - 2.5em);
	padding-bottom: 0.2em;
}
ol.number_type1>li:before {
	display: inline-block;
	content: counter(cntType1) "）";
	margin-left: -2.5em;
	width: 2em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
ol.number_type2 {
	list-style-type: none;
}
ol.number_type2>li {
	counter-increment: cntType2;
	position: relative;
	left: 2em;
	width: calc(100% - 2em);
	padding-bottom: 0.2em;
}
ol.number_type2>li::before {
	display: inline-block;
	content: "(" counter(cntType2) ")";
	margin-left: -2em;
	width: 1.5em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}

ul.remark {
	list-style: none;
	width: 100%;
	margin: 0.3em 0;
	padding: 0;
	color: #b30000;
}
ul.remark li {
	position: relative;
	left: 1em;
	width: calc(100% - 1em);
	font-size: 0.8em;
	line-height: 1.2em;
}
ul.remark li::before {
	position: absolute;
	left: -1em;
	content: "※";
}

hr.type1 {
	margin: 1em auto;
	padding: 0;
	border: 0;
	height: 1px;
	background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
	background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
	background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
	background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0); 
}
hr.type2 {
	margin: 1em auto;
	padding: 0;
	border-width: 0 0 8px;
	border-style: solid;
	border-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 1"><circle fill="hsla(0, 0%, 65%, 1.0)" cx="1" cy="0.5" r="0.5"/></svg>') 0 0 100% repeat;
	width: 216px;
}

a img {
	border: none;
}

img {
	vertical-align: middle;
}

span.point::before {
	content: "\025cf";
	font-family: monospace;
	padding-right: 0.2em;
}

label {
	display: flex;
}
label input[type="checkbox"],
label input[type="radio"] {
	margin-right: 0.3em;
}

.contact {
	max-width: 40em;
	margin: 1.5rem auto;
}
.contact span {
	white-space: nowrap;
}
.contact div.title {
	border-bottom: 1px solid gray;
}
.contact table tbody tr td {
	padding: 0.2rem 0;
	font-size: 1rem;
	line-height: 1rem;
}
.contact table tbody tr td:nth-child(1) {
	text-align: right;
}
.contact table tbody tr td:nth-child(2) {
	padding-left: 0.5em;
}

.max_width {
	width: 100%;
}

.title {
	font-size: 1.1rem;
	font-weight: bold;
	margin: 0.2em 0;
}

.price {
	text-align: right!important;
}

.indent {
	padding-left: 1.5em!important;
}

.top-space {
	margin-top: 0.3em!important;
}
.bottom-space {
	margin-bottom: 0.3em!important;
}
.left-space {
	margin-left: 0.5em!important;
}
.right-space {
	margin-right: 0.5em!important;
}

.poem {
	margin-bottom: 30px;
	line-height: 30px;
}

.message {
	color: #146303;
}

.error_message {
	color: red;
	font-size: 0.9rem;
	font-weight: bold;
}

/*------------------------------------------------------------------*
 * 入力要素の見栄え
 *------------------------------------------------------------------*/
input[type="text"],input[type="password"],input[type="tel"],input[type="email"] {
	appearance: none;
	border: 1px solid #333;
	border-radius: 0.4em;
	box-shadow: none;
	outline: none;
	outline-offset: -1px;
}
input[type="button"],input[type="submit"] {
	appearance: none;
	border: 1px solid #333;
	border-radius: 0.4em;
	box-shadow: none;
	outline: none;
	outline-offset: -1px;
}
input[type="radio"],input[type="checkbox"] {
	border: none;
	box-shadow: none;
	outline: none;
}
select {
	border: 1px solid #333;
	border-radius: 0.4em;
	box-shadow: none;
	outline: none;
	outline-offset: -1px;
}
textarea {
	appearance: none;
	display: block;
	border: 1px solid #333;
	border-radius: 0.4em;
	box-shadow: none;
	outline: none;
	outline-offset: -1px;
}

/*------------------------------------------------------------------*
 * ボタンデザイン
 *------------------------------------------------------------------*/
.ozasa-button {
	display: block;
	min-width: 6em;
	width: fit-content;
	margin: 0.5rem 0.5rem 0.5rem 0;
	padding: 0.3em 0.2em;
	border: 1px solid #333;
	border-radius: 0.4em;
	box-shadow: none;
	outline: none;
	outline-offset: -1px;
	text-decoration: none;
	text-align: center;
	color: #0a3a00;
	background-color: #eeeeee;
	text-overflow: ellipsis;
}
.ozasa-button:first-child {
	margin-left: 0.5rem;
}
.ozasa-button:hover {
	color: #eeeeee;
	background-color: #0a3a00;
}
.big-button {
	font-size: 1.15em!important;
	font-weight: bold;
	padding: 0.5em 2em!important;
}

/*------------------------------------------------------------------*
 * フォーカス時の見栄え
 *------------------------------------------------------------------*/
input[type="text"]:focus,input[type="password"]:focus,input[type="tel"]:focus,input[type="email"]:focus,
input[type="text"]:focus-visible,input[type="password"]:focus-visible,input[type="tel"]:focus-visible,input[type="email"]:focus-visible {
	background-color: #ffdddd;
}
input[type="button"]:focus,input[type="submit"]:focus,
input[type="button"]:focus-visible,input[type="submit"]:focus-visible {
	background-color: #ffdddd;
}
input[type="radio"]:focus,input[type="checkbox"]:focus,
input[type="radio"]:focus-visible,input[type="checkbox"]:focus-visible {
	background-color: #ffdddd;
}
select:focus,select:focus-visible {
	background-color: #ffdddd;
}
a:focus,a:focus-visible {
	outline: none;
	border-radius: 4px;
	background-color: rgba(255,200,200,0.3);
}
.ozasa-button:focus,.ozasa-button:focus-visible {
	background-color: #ffdddd;
}

/********************************************************************
 * 画面遷移関係
 ********************************************************************/
div.wait-mask {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10000;
	background-color: white;
/*
	background-image: url('../img/logo_big.png');
	background-repeat: no-repeat;
	background-position: center;
*/
}
div.wait-mask div.message {
	display: none;
}
.fadein {
	/* duration | easing-function | delay | iteration-count | direction | fill-mode | play-state | name */
	animation: 0.2s linear 0.2s 1 normal forwards running fadein;
}
.fadeout {
	/* duration | easing-function | delay | iteration-count | direction | fill-mode | play-state | name */
	animation: 0.2s linear 0s 1 normal forwards running fadeout;
}
@keyframes fadein {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes fadeout {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
div.wait-mask>div.message {
	width: 100vw;
	height: 100vh;
	line-height: 100vh;
	text-align: center;
	font-size: 5rem;
	color: gray;
}

/********************************************************************
 * トップ階層
 ********************************************************************/
body#top {
	 background-image: url(../img/top_back.jpg);
	 background-repeat: repeat;
}
body#top div.logo {
	text-align: center;
	margin-bottom: 20px;
	margin-top: 50px;
}
body#top div.logo img {
	max-width: calc(362px - 1rem);
	width: calc(100% - 1rem);
	padding: 0 0.5rem;
}
body#top table {
	margin: auto;
}
body#top table td {
	text-align: center;
}

#news {
	_background-color: #fff;	
	max-width: 40rem;
	margin: auto;
	padding: 0 1rem;
	margin-bottom: 1rem;
	_border: solid 1px #666;
}
#news hr {
	width: 90%;
	margin: 0 auto;
}
#news_iframe {
	max-width: 40rem;
	margin: auto;
	padding: 0 1rem;
	margin-bottom: 1rem;
	border: solid 1px #666;
}

#TopMenu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
#TopMenu>div {
	width: fit-content;
}
#TopMenu img {
	width: 100px;
	margin: 1rem;
}

p.date {
	padding-left: 1rem;
	margin-bottom: 0.5rem;
}
p.contents {
	padding-left: 2rem;
}

/********************************************************************
 * ヘッダー
 ********************************************************************/
header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: start;
	height: 140px;
	overflow: hidden;
	background-image: url(../img/head_bg.png);
	background-repeat: no-repeat;
	background-position: bottom center;
}
header div.logo img {
	width: 240px;
	height: 122px;
}
header div.title {
	align-self: center;
	font-size: 1.5rem;
	font-weight: bold;
	color: #146303;
}
header ul.topmenu {
	display: flex;
	flex-direction: row;
	list-style: none;
}
header ul.topmenu li {
	margin-top: 20px;
	margin-left: 5px;
}
header ul.topmenu li:nth-child(1) img {
	width: 148px;
	height: 72px;
}
header ul.topmenu li:nth-child(2) img {
	width: 155px;
	height: 72px;
}
header ul.topmenu li:nth-child(3) img {
	width: 136px;
	height: 72px;
}
header ul.topmenu li:nth-child(4) img {
	width: 155px;
	height: 72px;
}

@media (max-width: 768px) {
#ozasa-menu-header {
	font-size: 2rem;
}
header ul.topmenu {
	flex-direction: column;
}
header ul.topmenu li {
	margin: 0.5em 0 0 0;
	padding: 0.5em 1em;
}
header ul.topmenu li:hover {
	background-color: #cff1c8;
}
header ul.topmenu li a {
	text-decoration: none;
	color: #0a3a00;
}
header ul.topmenu li a span {
	font-size: 2rem;
}
}
@media (max-width: 450px) {
header {
	height: 90px;
}
header div.logo img {
	width: 168px;
	height: 85px;
}
header div.title {
	font-size: 1.5rem;
}
}

/********************************************************************
 * コンテナ
 ********************************************************************/
.base_container {
	overflow: hidden;
	margin: 1.5rem 0;
	padding: 0 2rem;
}

.grid_container {
	overflow: hidden;
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	align-items: start;
}
.grid_container .block:not(:last-child) {
	margin-bottom: 1.2em;
}

.left_box,.right_box {
	max-width: calc(50% - 2rem);
	width: 50%;
	margin-bottom: 1.5rem;
}

.single_box {
	max-width: calc(100% - 2rem);
	width: 100%;
	margin: 0 auto 1.5rem auto;
}
.single_box_without_margin-bottom {
	max-width: calc(100% - 2rem);
	width: 100%;
	margin: 0 auto;
}

.horizon_box {
	display: flex;
	flex-direction: row;
	justify-content: start;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.button-container {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	width: 100%;
	margin: 0;
	padding: 0;
}

.block {
	overflow: hidden;
}
.block h2 {
	font-size: 1rem;
	margin: 1rem auto 0.3rem auto;
	padding: 0;
	color: red;
}
.block p {
	font-size: 1rem;
}

@media (max-width: 768px) {
.base_container {
	padding: 0;
}
.grid_container {
	flex-direction: column;
	align-items: center;
}
.left_box,.right_box {
	max-width: unset;
	width: 100%;
}
.single_box,
.single_box_without_margin-bottom {
	max-width: unset;
	width: 100%;
}
.button-container {
	justify-content: space-evenly;
}
}

/********************************************************************
 * フッター
 ********************************************************************/
 footer .copyright {
	width: 100%;
	background-image: url(../img/footer_line.jpg);
	background-repeat: no-repeat;
	padding-top: 10px;
	font-size: 0.75rem;
	text-decoration: none;
	font-style: normal;
	text-align: center;
	margin-bottom: 30px;
}

/********************************************************************
 * イメージ
 ********************************************************************/
.thamb {
	margin: 0.5rem;
	text-align: center;
	overflow: hidden;
}

.circle_color {
	color: #d09866;
}

.main_photo {
	text-align: center;
	margin: 30px;
}

table.mini_photo_box {
	margin: 0.5rem auto;
}

/********************************************************************
 * メールフォーム
 ********************************************************************/
table.mail-form {
	width: 100%;
}
table.mail-form td {
	padding: 0 0.2em 0.2em 0.2em;
	vertical-align: middle;
}
table.mail-form td:nth-child(1) {
	width: 7.6em;
}
table.mail-form td input[type="text"],
table.mail-form td input[type="password"] {
	width: calc(100% - 1em);
	padding: 0 0.3em;
}

/********************************************************************
 * 価格テーブル
 ********************************************************************/
table.price_list {
	width: fit-content;
	margin: 0 2rem;
	background-color: #009865;
}
table.price_list td {
	background-color: #fff;
	padding: 0.3em;
	white-space: nowrap;
}
table.price_list td:nth-child(1) {
	min-width: 9em;
}
@media (max-width: 768px) {
table.price_list {
	margin: 0 auto;
}
}

/********************************************************************
 * 問い合わせ用ボックス
 ********************************************************************/
.inquiry-box {
	display: flex;
	flex-direction: row;
	justify-content: start;
	margin: 1rem;
	padding: 0;
}
.inquiry-box div {
	flex: auto;
	padding: 0 0.3em;
}
.inquiry-box div.prefix {
	flex: none;
	padding: 0 0.5em;
}

/********************************************************************
 * 電話受付用ボックス
 ********************************************************************/
.tel-reception {
	width: fit-content;
	margin: 1rem auto;
	padding: 0.5em 1em;
	border: 1px solid lightgray;
	border-radius: 0.4em;
}
.tel-reception .title {
	margin: 0;
	font-weight: bold;
}
.tel-reception .strong {
	font-weight: bold;
	color: #ff0080;
}
.tel-reception .big {
	font-size: 1.3em;
}
.tel-reception .small {
	font-size: 0.9em;
}
.tel-reception .small .index {
	width: 5em;
	text-align: right;
}
.tel-reception a {
	text-decoration: none;
}

/********************************************************************
 * GoogleMap
 ********************************************************************/
.google-map {
	text-align: center;
}
.google-map a {
	text-decoration: none;
}

/********************************************************************
 * commerce共通
 ********************************************************************/
img.noshi-image {
	width: 160px;
}

div div.noshi-box:not(:last-child) {
	margin-bottom: 2rem;
}
div div.noshi-box .button-container {
	justify-content: space-evenly;
}
div div.noshi-box .bottom-space {
	margin-bottom: 1.5rem!important;
}
/*------------------------------------------------------------------*
 * H4で使用するSVGイメージのソース
 * <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="width: 256px; height: 256px; opacity: 1;" xml:space="preserve"><g><path d="M264.561,94.977l-2.68,322.047C398.266,248.681,330.434,94.977,264.561,94.977z" style="fill: rgb(20,99,3);"></path><path d="M252.364,417.023l-2.68-322.047C183.81,94.977,115.978,248.681,252.364,417.023z" style="fill: rgb(20,99,3);"></path><path d="M183.989,101.996C107.226,89.966,3.606,163.788,0,338.92c12.405-26.26,26.908-54.759,43.79-83.092 C79.168,196.538,124.888,137.713,183.989,101.996z" style="fill: rgb(20,99,3);"></path><path d="M176.055,137.856c3.842-8.056,8.256-15.275,13.034-21.787c-54.702,33.937-98.567,89.862-132.726,147.258 c-19.542,32.793-35.899,65.902-49.494,95.507c22.947-12.68,99.088-56.767,153.039-111.783 C155.323,203.815,162.517,166.246,176.055,137.856z" style="fill: rgb(20,99,3);"></path><path d="M468.213,255.829c16.884,28.333,31.378,56.831,43.787,83.092c-3.602-175.132-107.23-248.954-183.989-236.924 C387.115,137.713,432.832,196.538,468.213,255.829z" style="fill: rgb(20,99,3);"></path><path d="M322.915,116.069c4.775,6.512,9.192,13.731,13.03,21.787c13.538,28.39,20.735,65.959,16.147,109.195 c53.951,55.016,130.088,99.103,153.04,111.783c-13.596-29.606-29.956-62.714-49.498-95.507 C421.482,205.931,377.609,150.006,322.915,116.069z" style="fill: rgb(20,99,3);"></path></g></svg>
 *------------------------------------------------------------------*/
div div.noshi-box h4 {
	background: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9IndpZHRoOiAyNTZweDsgaGVpZ2h0OiAyNTZweDsgb3BhY2l0eTogMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik0yNjQuNTYxLDk0Ljk3N2wtMi42OCwzMjIuMDQ3QzM5OC4yNjYsMjQ4LjY4MSwzMzAuNDM0LDk0Ljk3NywyNjQuNTYxLDk0Ljk3N3oiIHN0eWxlPSJmaWxsOiByZ2IoMjAsOTksMyk7Ij48L3BhdGg+PHBhdGggZD0iTTI1Mi4zNjQsNDE3LjAyM2wtMi42OC0zMjIuMDQ3QzE4My44MSw5NC45NzcsMTE1Ljk3OCwyNDguNjgxLDI1Mi4zNjQsNDE3LjAyM3oiIHN0eWxlPSJmaWxsOiByZ2IoMjAsOTksMyk7Ij48L3BhdGg+PHBhdGggZD0iTTE4My45ODksMTAxLjk5NkMxMDcuMjI2LDg5Ljk2NiwzLjYwNiwxNjMuNzg4LDAsMzM4LjkyYzEyLjQwNS0yNi4yNiwyNi45MDgtNTQuNzU5LDQzLjc5LTgzLjA5MiBDNzkuMTY4LDE5Ni41MzgsMTI0Ljg4OCwxMzcuNzEzLDE4My45ODksMTAxLjk5NnoiIHN0eWxlPSJmaWxsOiByZ2IoMjAsOTksMyk7Ij48L3BhdGg+PHBhdGggZD0iTTE3Ni4wNTUsMTM3Ljg1NmMzLjg0Mi04LjA1Niw4LjI1Ni0xNS4yNzUsMTMuMDM0LTIxLjc4N2MtNTQuNzAyLDMzLjkzNy05OC41NjcsODkuODYyLTEzMi43MjYsMTQ3LjI1OCBjLTE5LjU0MiwzMi43OTMtMzUuODk5LDY1LjkwMi00OS40OTQsOTUuNTA3YzIyLjk0Ny0xMi42OCw5OS4wODgtNTYuNzY3LDE1My4wMzktMTExLjc4MyBDMTU1LjMyMywyMDMuODE1LDE2Mi41MTcsMTY2LjI0NiwxNzYuMDU1LDEzNy44NTZ6IiBzdHlsZT0iZmlsbDogcmdiKDIwLDk5LDMpOyI+PC9wYXRoPjxwYXRoIGQ9Ik00NjguMjEzLDI1NS44MjljMTYuODg0LDI4LjMzMywzMS4zNzgsNTYuODMxLDQzLjc4Nyw4My4wOTJjLTMuNjAyLTE3NS4xMzItMTA3LjIzLTI0OC45NTQtMTgzLjk4OS0yMzYuOTI0IEMzODcuMTE1LDEzNy43MTMsNDMyLjgzMiwxOTYuNTM4LDQ2OC4yMTMsMjU1LjgyOXoiIHN0eWxlPSJmaWxsOiByZ2IoMjAsOTksMyk7Ij48L3BhdGg+PHBhdGggZD0iTTMyMi45MTUsMTE2LjA2OWM0Ljc3NSw2LjUxMiw5LjE5MiwxMy43MzEsMTMuMDMsMjEuNzg3YzEzLjUzOCwyOC4zOSwyMC43MzUsNjUuOTU5LDE2LjE0NywxMDkuMTk1IGM1My45NTEsNTUuMDE2LDEzMC4wODgsOTkuMTAzLDE1My4wNCwxMTEuNzgzYy0xMy41OTYtMjkuNjA2LTI5Ljk1Ni02Mi43MTQtNDkuNDk4LTk1LjUwNyBDNDIxLjQ4MiwyMDUuOTMxLDM3Ny42MDksMTUwLjAwNiwzMjIuOTE1LDExNi4wNjl6IiBzdHlsZT0iZmlsbDogcmdiKDIwLDk5LDMpOyI+PC9wYXRoPjwvZz48L3N2Zz4=") left no-repeat;
}

main.order-form .ashiato,
main.customer-form .ashiato,
main.payment-credit .ashiato,
main.payment-exchange .ashiato {
		color: brown;
	font-weight: bold;
}

.item-container {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	flex-wrap: wrap;
	margin: 0.5rem 0.5rem;
}
.item-container .left {
	flex: 0;
}
.item-container .right {
	flex: 14em;
	padding-left: 1em;
}
.item-container .block {
	flex-basis: 15em;
	padding: 0.5em 0;
}
.item-container .block .noshi-image-frame {
	text-align: center;
}

.breadcrumbs {
	margin: 0.5rem 1rem;
	padding: 0.1em 0.3em;
	background-color: whitesmoke;
	border-radius: 0.4em;
	font-size: 1rem;
}
@media (max-width: 768px) {
.breadcrumbs {
	margin: 0.5rem 0;
	font-size: 0.9rem;
}
}
@media (max-width: 450px) {
.breadcrumbs {
	font-size: 0.8rem;
}
}
@media (max-width: 384px) {
.breadcrumbs {
	font-size: 0.8rem;
}
}

/********************************************************************
 * お客様登録確認用フォーム
 ********************************************************************/
main.customer-form table {
	border-collapse: separate;
	border-spacing: 2px;
	margin-bottom: 1rem;
	width: 100%;
}
main.customer-form table tr td {
	padding: 0.5em 0.5em;
	line-height: 1em;
}
main.customer-form table tr td p {
	margin: 0.3em 0 0 0;
}
main.customer-form table tr td span {
	white-space: nowrap;
}
main.customer-form table tr td input[type="text"],
main.customer-form table tr td input[type="tel"],
main.customer-form table tr td input[type="email"],
main.customer-form table tr td input[type="password"],
main.customer-form table tr td select {
	padding: 0.4em 0.5em;
	line-height: 1em;
}
main.customer-form table tr td input[type="email"],
main.customer-form table tr td input[type="text"] {
	width: 100%;
}
main.customer-form table tr td:nth-child(1) {
	width: 10em;
	vertical-align: top;
	background-color: lightgray;
}
main.customer-form table tr td:last-child {
	padding-right: 0;
}
main.customer-form table tr td.zip-code input:nth-child(1) {
	width: 3em;
	text-align: center;
}
main.customer-form table tr td.zip-code input:nth-child(2) {
	width: 4em;
	text-align: center;
}
main.customer-form table tr td.tel-number input {
	max-width: 15em;
}
main.customer-form .checkbox-grid {
	display: flex;
	flex-direction: row;
	justify-content: start;
	padding: 0.4em 0.2em;
}
main.customer-form .checkbox-grid input[type="checkbox"] {
	width: calc(1em + 4px);
	height: calc(1em + 4px);
	border: 2px solid green;
	border-radius: 0.2em;
	color: green;
	font-weight: bold;
	font-family: cursive;
}
main.customer-form .checkbox-grid input[type="checkbox"]::before {
	content: "　";
	display: block;
	padding: 0.1em;
	width: calc(1em + 4px);
	height: calc(1em + 4px);
	border: 2px solid green;
	border-radius: 0.2em;
	background-color: #f0f0f0;
	line-height: 0.8em;
}
main.customer-form .checkbox-grid input[type="checkbox"]:focus,
main.customer-form .checkbox-grid input[type="checkbox"]:focus-visible {
	outline: none;
}
main.customer-form .checkbox-grid input[type="checkbox"]:checked::before {
	content: "\02714";
}
main.customer-form .checkbox-grid div {
	line-height: calc(1em + 4px);
}
main.customer-form .checkbox-grid div:nth-child(1) {
	padding: 0 0.5em;
	width: calc(2em + 4px);
}

/********************************************************************
 * 商品のご注文用フォーム
 ********************************************************************/
main.order-form table.greenboldtable {
	margin: 0 auto;
	width: 100%;
}
main.order-form table.greenboldtable tbody tr {
	border-bottom: 1px dashed gray;
}
main.order-form table.greenboldtable td{
	padding:0.5em 0.5em 0 0.5em;
	background-color:#ffffff;
	vertical-align:middle;
	text-align:left;
	font-weight:normal;
}
main.order-form table.greenboldtable th {
	padding:0.3em 0.5em;
	background-color:#cfc;
	vertical-align:middle;
	text-align:left;
	font-weight:bold;
}

main.order-form div.green_kakomi {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin: 0 1rem 1rem 1rem;
	padding: 0.5rem 1rem;
	border:solid 1px green;
	border-radius: 0.4rem;
}
main.order-form div.green_kakomi div.item-record {
	display: flex;
	flex-wrap: nowrap;
}
main.order-form div.green_kakomi div.item-record div.item select,
main.order-form div.green_kakomi div.item-record div.item input {
	height: 1.4em;
}
main.order-form div.green_kakomi div.item-record div.item select {
	text-align: center;
	margin: 0 0.5em 0 0;
}
main.order-form div.green_kakomi div.item-record div.item input[type="checkbox"] {
	width: calc(1em + 4px);
	height: calc(1em + 4px);
	border: 2px solid green;
	border-radius: 0.2em;
	color: green;
	font-weight: bold;
	font-family: cursive;
}
main.order-form div.green_kakomi div.item-record div.item input[type="checkbox"]:focus,
main.order-form div.green_kakomi div.item-record div.item input[type="checkbox"]:focus-visible {
	outline: none;
}
main.order-form div.green_kakomi div.item-record div.item input[type="checkbox"]::before {
	content: "　";
	display: block;
	padding: 0.1em;
	width: calc(1em + 4px);
	height: calc(1em + 4px);
	border: 2px solid green;
	border-radius: 0.2em;
	background-color: #f0f0f0;
	line-height: 0.8em;
}
main.order-form div.green_kakomi div.item-record div.item input[type="checkbox"]:checked::before {
	content: "\02714";
}
main.order-form div.green_kakomi div.item-record div.item {
	display: block;
	height: calc(2em + 4px);
	line-height: calc(2em + 4px);
	padding: 0 0 0 0.5em;
	white-space: nowrap;
}
main.order-form div.green_kakomi div.item-record div.item:nth-child(1) {
	padding: 0;
	width: calc(1em + 4px);
}
@media (max-width: 1023px) {
main.order-form div.green_kakomi {
	justify-content: space-evenly;
}
main.order-form div.green_kakomi div.item-record {
	margin: 0 0.5em;
}
}

main.order-form .image-frame {
	margin: 0 auto;
	width: fit-content;
}

main.order-form .horizon_box div {
	padding-left: 0.5em;
}
main.order-form .horizon_box div:not(:last-child) {
	padding-right: 1em;
}
main.order-form .horizon_box label {
	white-space: nowrap;
}

main.order-form table tr td span {
	white-space: nowrap;
}

main.order-form table.type01 {
	border-collapse: separate;
	border-spacing: 2px;
	width: 100%;
}
main.order-form table.type01 tr td {
	padding: 0.5em 0.5em;
	line-height: 1.2em;
}
main.order-form table.type01 tr td:last-child {
	padding-right: 0;
}
main.order-form table.type01 tr td input[type="text"],
main.order-form table.type01 tr td input[type="tel"],
main.order-form table.type01 tr td input[type="email"],
main.order-form table.type01 tr td input[type="password"],
main.order-form table.type01 tr td textarea,
main.order-form table.type01 tr td select {
	margin: 0.1em 0;
	padding: 0.4em 0.5em;
	line-height: 1em;
}
main.order-form table.type01 tr td input[type="text"],
main.order-form table.type01 tr td input[type="email"],
main.order-form table.type01 tr td textarea {
	width: 100%;
}
main.order-form table.type01 tr td textarea {
	min-height: calc(1em + 0.8em + 2px);
	height: calc(2em + 0.8em + 2px);
}
main.order-form table.type01 tr td select {
	text-align: center;
}
main.order-form table.type01 tr td:nth-child(1) {
	vertical-align: top;
	background-color: lightgray;
	width: 9em;
}
main.order-form table.type01 tr td.zip-code input:nth-child(1) {
	width: 3em;
	text-align: center;
}
main.order-form table.type01 tr td.zip-code input:nth-child(2) {
	width: 4em;
	text-align: center;
}
main.order-form table.type01 tr td.tel-number input {
	max-width: 15em;
}

main.order-form table.type02 {
	border-collapse: collapse;
	width: 100%;
}
main.order-form table.type02 tr th {
	padding: 0.5em 0.5em;
	border: 1px solid gray;
	background-color:#cfc;
	line-height: 1.2em;
}
main.order-form table.type02 tr td {
	padding: 0.5em 0.5em;
	border: 1px solid gray;
	line-height: 1.2em;
}
main.order-form table.type02 tr td:nth-child(1) {
	text-align: center;
}
main.order-form table.type02 tr td:nth-child(2) {
	min-width: 6em;
}

main.order-form table.type03 {
	border-collapse: collapse;
	margin: 0 auto;
}
main.order-form table.type03 tr td {
	padding-top: 0.5em;
	border-bottom: 2px dashed gray;
	line-height: 1.2em;
}
main.order-form table.type03 tr td.total-label {
	text-align: right;
}
main.order-form table.type03 tr td.total-price {
	text-align: right;
}
main.order-form table.type03 tr td:first-child {
	padding: 0.5em 0.5em 0 0.5em;
	color: #854a26;
}
main.order-form table.type03 tr td:last-child {
	padding: 0.5em 0.5em 0 0.5em;
}
main.order-form table.type03 tr td span {
	padding: 0 0.2em;
}

main.order-form table.type04 {
	border-collapse: separate;
	border-spacing: 0px;
	margin: 0 auto;
	border: 2px solid gray;
	border-radius: 6px;
}
main.order-form table.type04 tr td {
	border: 1px solid gray;
	padding: 0.5em 0.5em;
}
main.order-form table.type04 tr:first-child td {
	border-top-width: 0px;
}
main.order-form table.type04 tr:last-child td {
	border-bottom-width: 0px;
}
main.order-form table.type04 tr td:first-child {
	min-width: 8em;
	border-left-width: 0px;
}
main.order-form table.type04 tr td:last-child {
	border-right-width: 0px;
}

main.order-form table.type05 {
	border-collapse: separate;
	border-spacing: 0px;
	margin: 0 auto;
	border: 2px solid red;
	border-radius: 6px;
}
main.order-form table.type05 tr td {
	padding: 0;
	font-size: 1.2rem;
	font-weight: bold;
	color: #454545
}
main.order-form table.type05 tr:first-child td {
	padding-top: 0.5rem;
}
main.order-form table.type05 tr:last-child td {
	padding-bottom: 0.5rem;
}
main.order-form table.type05 tr td:first-child {
	padding-left: 1rem;
	text-align: right;
}
main.order-form table.type05 tr td:last-child {
	padding-left: 2em;
	padding-right: 1rem;
	text-align: right;
}

main.order-form .delivery-request-block select {
	margin: 0.1em 0;
	padding: 0.4em 0.5em;
	line-height: 1em;
}

main.order-form .dac-block select {
	margin: 0.1em 0.3em;
	padding: 0.4em 0.5em;
	line-height: 1em;
	text-align: center;
}
main.order-form .dac-block select#delivery_year {
	margin-left: 0;
}

main.order-form .payment-method {
	font-size: 1.1rem;
	font-weight: bold;
	color: brown;
}

main.order-form .shipping-type {
	font-size: 1.1rem;
	font-weight: bold;
	color: brown;
}

main.order-form input[type="radio"] {
	transform: scale(1.2);
}

/********************************************************************
 * クレジット決済確認画面
 ********************************************************************/
main.payment-credit table.type01 {
	border-collapse: separate;
	border-spacing: 2px;
}
main.payment-credit table.type01 tr td {
	padding: 0.5em 0.5em;
	line-height: 1.2em;
}
main.payment-credit table.type01 tr td:nth-child(1) {
	vertical-align: top;
	background-color: lightgray;
}

/********************************************************************
 * 代引決済確認画面
 ********************************************************************/

/********************************************************************
 * メンテナンス画面
 ********************************************************************/
main.maintenance div.maintenance_container {
	margin: auto;
	overflow: hidden;
}
main.maintenance h2.maintenance_title {
	padding: 0;
	color: sienna;
	text-align: center;
	text-shadow: 2px 2px 4px #666;
}
main.maintenance div.maintenance_contents {
	margin: 0 auto;
	max-width: 30em;
	color: saddlebrown;
	text-shadow: 1px 1px 4px #666;
}
main.maintenance div.maintenance-message {
	text-align: center;
}
main.maintenance div.maintenance-message img {
	max-width: 500px;
	width: 100%;
}

@media (max-width: 450px) {
header,main,footer {
	padding: 0 1rem;
}
}
