 /* コンテナのスタイル */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
	font-family: Arial, sans-serif;
	font-size: 14pt;
	line-height: 1.6;
	color: #7E7979;
	background-color: #fff;
	margin: 0;
	height: 100%;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: bold;
	margin-bottom: 1.2em;
	color: #FF9B22;
}
h2 .subtitle {
	color: #3584bb;
	margin: 0;
	padding: 0;
}

p {
	font-family: "筑紫A丸ゴシック レギュラー" "Courier New", Courier, "monospace";
	padding-bottom: 20px;
}
hr {
  border-top: 1px dashed #CDCCCC ;
	width: 70%;
	margin: 50px auto;
}
html {
	scroll-behavior: smooth;
}
header {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	float: none;
	clear: both;
}
#name {
	margin: 0;
	padding: 0;
	float: left;
	height: 60px;
	width: 190px;
}
#name img {
	margin: 0;
	padding:0px 0px 0px 15px;
	float: left;
	width: 190px;
}
#top{
	margin: 0;
	padding: 0;
	height: auto; /* ビューポートの高さに合わせる */
	width: 100%; /* 横幅は常に100% */
	vertical-align:top;
}
#contact {
	width: 50%;
	float: right;
}
#contact ul {
	margin: 0;
	padding-right: 20px;
	float: right;
}	
#contact li {
	display:block;
	margin:0;
	padding: 0;
	list-style: none;
	line-height: 60px;
}
a {
	text-decoration: none;
	color: #FF9B22;
	padding: 0;
	margin: 0;
}

a:hover {
  color: #3584bb;
}

.hamburger-menu {
	display: none;
}

#nav_top {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	float: left;
	clear: both;
	margin-bottom: 30px;	
}
#nav_top ul {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 40px;
	float: left;
	clear: both;
	text-align: center;
	background-color:#3584bb;
}
#nav_top ul li {
	display:inline;
	line-height: 40px;
	margin: 0;
	padding: 0;
	padding-left: 15px;
	padding-right: 20px;
	list-style: none;
	float:none;
	width: auto;
	text-align: center;
	border-right: thin solid #ffffff;	
}
#nav_top ul li a {
	text-decoration: none;
	color: #ffffff;
	padding: 0;
	margin: 0;
}

#nav_top ul li a:hover {
  color: #FF9B22;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    border: solid 2px #FCB417;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
	background-color: #ffffff;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #FCB417;
    border-right: 3px solid #FCB417;
    transform: translateY(20%) rotate(-45deg);
}
main {
	width: 100%;
	height: 100%;
	margin: 30px 0;
	padding: 0;
	float: none;
	clear: both;
}
#intro {
	width: 80%;
	height: 100%;
	margin: 30px auto 20px auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: left;
}
#intro .left {
	margin: 0;
	padding: 20px;
	width: 40%;
	float: left;
	height: auto;
}
#intro .left img{
	margin: 0;
	padding: 10px;
	width: 100%;
	height: auto;
}
#intro .right {
	margin: 0;
	margin-bottom: 30px;
	padding: 20px;
	width: 60%;
	float: left;
	height: auto;
	clear: right;
}
#process {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;	
}
#process .upper {
	margin-top: 20px;
	padding: 0;
	width: 100%;
	float: none;
	height: auto;
	clear: both;	
}
#process .down {
	margin: 0;
	padding:0;
	width: 30%;
	float: none;
	display: inline;
	height: auto;
}
#process .down img {
	margin: 0 auto;
	padding: 30px 0 0 0;
	width: 100%;
	height: auto;
	text-align: center;	
}
#process .left {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: left;
	text-align: left;
}
#process .left img {
	margin: 0 auto;
	padding: 30px 0 0 0;
	width: 100%;
	height: auto;
	text-align: center;
}
.title {
	text-align: center;
	font-size: 10pt;
	margin-bottom: 20px;
}
#process .right {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: right;
	text-align: left;	
}
#process p {
	margin: 0;
	padding-bottom: 15px;
}
#process .right img {
	margin: 0 auto;
	padding: 30px 0 0 0;
	width: 100%;
	height: auto;
	text-align: center;
}
.style_ore {
	color: #FF833C;
	font-weight:bold;
}
#process .step {
	 margin: 0 auto;
	padding: 20px 0;
	 font-weight:normal;
	 width: 80%;
	 text-align: center;
	 align-content: center;
}
#process .step2 {
	 margin: 0 auto;
	padding: 20px 0;
	 font-weight:normal;
	 width: 80%;
	 text-align: center;
	 align-content: center;
}
#embroidery {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;
}
#embroidery .upper {
	margin: 20px auto;
	padding: 0;
	width: 100%;
	float: none;
	height: auto;
	clear: both;
	
}
#embroidery .down {
	margin: 0;
	padding:0;
	width: 30%;
	float: none;
	display: inline;
	height: auto;
}
#embroidery .down img {
	margin: 0 auto;
	padding: 10px 0 0 0;
	width: 100%;
	height: auto;
	text-align: center;
}
#embroidery .left {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: left;
	text-align: left;
}
#embroidery .right {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: right;
	text-align: left;	
}
#embroidery .sample01 {
	width: 100%;
	margin: 0 auto;
	height: 100%;
	clear: both;
}
#embroidery .sample01 ul {
	margin: 0;
	padding: 0;
	width: 100%;
	float: left;
	clear: right;
}
#embroidery .sample01 ul li {
	display:inline;
	margin: 0;
	padding: 0;
	list-style: none;
	float: left;
	width: 33%;
}
#embroidery .sample01 img {
	width: 95%;
	display:inline;
	
}
#embroidery .step2 {
	 margin: 0 auto;
	padding: 20px 0;
	 font-weight:normal;
	 width: 80%;
	 text-align: center;
	 align-content: center;
}
#kinran {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;
}	
#kinran .upper {
	margin: 20px auto;
	padding: 0;
	width: 100%;
	float: none;
	height: auto;
	clear: both;
}
#kinran .left {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: left;
	text-align: left;
}
#kinran .right {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: right;
	text-align: left;	
}
#kinran .left img {
	margin: 0 auto;
	padding: 30px 0 0 0;
	width: 100%;
	height: auto;
	text-align: center;
}
#kinran .step2 {
	 margin: 0 auto;
	padding: 20px 0;
	 font-weight:normal;
	 width: 80%;
	 text-align: center;
	 align-content: center;
}
#company {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;
}	
#company table {
	border-collapse: collapse;
	width: 100%;
}
#company table td {
	border: solid 1px ccc;
	padding: 10px;
	text-align: left;	
}
#company table th {
	text-align-last:justify;
	background-color: #F4F2ED;
	padding: 10px;
	font-weight: normal;
}
#map {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;
}	
#map .left {
	margin: 0 auto;
	padding: 15px;
	width: 45%;
	float: left;
	text-align: right;
}
#map .right {
	margin: 0 auto;
	padding: 15px;
	width: 50%;
	float: right;
	text-align: left;	
}
#map .right img{
	margin: 0;
	width: 80%;
	float: left;
	clear: right;
	text-align: left;	
}
#map .right p {
	margin: 0;
	padding: 10px;
	width: 75%;
	float: left;
	clear:both;
	text-align: left;
	font-size: small;
}
#form {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;
}
#form p {
	width: 75%;
	margin: 0 auto;
	padding: 10px;
	float:none;
	clear: both;
	text-align: center;
}
#form .apply {
	font-family: "MS Serif", "New York", "serif";
	font-size: 1.2em;
	color: #F5A349;
	font-weight: bold;
	text-decoration-line: underline;
	margin:20px auto;
}
#form img {
	margin: 20px auto 5px;
	padding: 0;
	float:none;
	clear: both;
	text-align: center;
	line-height:10pt;
}
#form .style_sm {
	width: 70%;
	font-size: 0.7em;
	text-align: center;
	align-content: center;
	color: #3584bb;
	line-height: 10px;
	line-height: 0.5;
}
footer {
	width: 100%;
	float: none;
	clear: both;
	text-align: center;
	height: 100px;
	font-size: small;
	background-color: #F4F2ED;
	margin-top: 30px;
	padding-top: 15px;
}
#footer-navi {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	float: none;
	clear: both;
}
#footer-navi ul {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	float: none;
	clear: both;
	text-align: center;
}
#footer-navi ul li {
	font-size: 10pt;
	display:inline;
	line-height: 40px;
	margin: 0;
	padding: 0;
	padding-left: 10px;
	padding-right: 15px;
	list-style: none;
	float:none;
	width: auto;
	text-align: center;
	border-right: thin solid #FCB417;
}

address {
	margin: 20px 0 10px 0;
}



@media (max-width : 887px ){
body {
    font-size: 14pt;
  }
#nav_top {
display: none;
}
#contact ul {
	margin: 0;
	padding: 0;
	width: 120px;
	float: right;
}	
#nav_top ul li {
	display:inline;
	line-height: 40px;
	margin: 0;
	padding: 0;
	padding-left: 8px;
	padding-right: 12px;
	list-style: none;
	float:none;
	width: auto;
	text-align: center;
	border-right: thin solid #FCB417;
	background-color: #ffffff;
}	
#intro {
	width: 85%;
	height: 100%;
	margin: 10px auto;
	padding: 0;
	float:none;
	clear: both;
	text-align: left;
}
#intro .left {
display: none;
}	
#intro .right {
	margin: 10px auto;
	padding: 5px;
	width: 100%;
	float:left;
	height: auto;
	clear: both;
}	
#process .left {
	margin: 0;
	padding: 15px;
	width: 100%;
	float: left;
	text-align: left;
}
#process .right {
	margin: 0;
	padding: 15px;
	width: 100%;
	float: left;
	text-align: left;
}
#embroidery .left {
	margin: 0 auto;
	padding: 15px;
	width: 100%;
	float: left;
	text-align: left;
}
#embroidery .right {
	margin: 0 auto;
	padding: 15px;
	width: 100%;
	float: right;
	text-align: left;	
}
#embroidery .sample01 ul li {
	display:block;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	float: left;
	width: 100%;
}
#kinran .left {
	margin: 0 auto;
	padding: 15px;
	width: 100%;
	float: left;
	text-align: left;
}
	
#kinran .right {
	margin: 0 auto;
	padding: 15px;
	width: 100%;
	float: right;
	text-align: left;	
}
	
#map .left {
	margin: 0;
	padding:0;
	width: 100%;
	float:left;
	clear: both;
	text-align: center;
}
#map .right {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	float: left;
	clear: both;
}
#map .right img {
	margin: 0;
	padding: 30px 5px 5px 10px;
	width: 100%;
	float: none;
	clear: both;
}
#map .right p {
	margin: 0 0 20px 0;
	padding:0;
	width: 100%;
	float: none;
	clear:both;
	text-align: center;
	font-size: small;
}
 /* ハンガーメニュー設定（スマホ） */

	
.hamburger-menu {
		display: block;
	}
.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #3584bb;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
	
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}

.menu-content {
    width: 40%;
    height: 100%;
    position:fixed;
    top: 0;
    right: -100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #3584bb;
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    right: 0;/*メニューを画面内へ*/
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
#contact {
	display: none;
}	
h1 {
		text-align: center;
	}
#process .step {
	 width: 100%;
}

#process .step2 {
	 width: 100%;
}
#embroidery .step2 {
	 width: 100%;
}	
#kinran .step2 {
	 width: 100%;
}	
#form {
	width: 100%;
}
footer {
	width: 100%;
	float: none;
	clear: both;
	text-align: center;
	height: 120px;
	font-size: small;
	background-color: #F4F2ED;
	margin-top: 15px;
	padding-top: 15px;
}
#footer-navi ul {
	margin: 0 auto;
	width: 85%;
	float: none;
	clear: both;
	height: 40px;
	text-align: center;
}	
#footer-navi ul li {
	font-size: 10pt;
	display:inline;
	line-height: 20px;
	margin: 0;
	padding: 0;
	padding-left: 8px;
	padding-right: 13px;
	list-style: none;
	float:none;
	width: auto;
	text-align: center;
	border-right: thin solid #FCB417;
}
address {
	height: 20px;
	margin: 20px 0 0 0;
	padding: 0;
}

}
