@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------------
	2026/01制作
------------------------------------------------------------*/

/*-----common------*/

div:after{
	content: " ";  
	display: block; 
	visibility: hidden; 
	clear: both; 
	height: 0.1px; 
	font-size: 0.1em; 
	line-height: 0; 
}

body{
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	line-height: 1.5em;
	text-align: justify;
	-webkit-text-size-adjust: 100%;/*iphone横画面バグ対応*/
	font-size: 18px;
	color: #333333;
}

#wrapper{
	margin: 0 auto 2px;
	width: 100%;
	height: auto;
	position: relative;
	height: auto !important;
	height: 100%;
	min-height: 100%;
}

#main{
	width: 100%;
	max-width: 1200px;
	height: auto;
	margin: 0 auto;
	/* padding-bottom: 6rem; */
}

#main .content-box{
	width: 100%;
	height: auto;
	max-width: 1200px;
	margin: 0 auto;
}

#main .content,
#footer .content{
	width: 95%;
	height: auto;
	position: relative;
	margin: 0 auto;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}

header, nav, section, article, hgroup {
    display: block;
}

* {
    margin: 0px;
    padding: 0px;
}

a {
	outline: none;
	font-size: 0;
    transition: 0.2s linear;
}

img {
	width: 100%;
	vertical-align:bottom;
	border: 0;
	font-size: 0;/* inline-block隙間対応 */
	-webkit-backface-visibility: hidden;/* chrome画像ボケ防止 */
	image-rendering: -webkit-optimize-contrast;/* chrome画像ボケ防止 */
}

*:focus {/* chrome画像フォーカス時の線を消す */
  outline: none;
}

/* パソコン画像表示 */
.pc { display: inline !important; }
.sp { display: none !important; }

/*-----common------*/

#wrapper{
    min-height: 100svh;
    position: relative;
    padding-bottom: 689px; /*フッター高さ指定-下部と上部の合計*/
    box-sizing: border-box;
	width: 100%;
	overflow: hidden;
}

.fadeIn_up {
  opacity: 0;
  visibility: hidden;
  transition: all 1.5s;
  transform: translateY(150px);
}
.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.fadein {
  animation: fadeIn 1s;
}
 
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

*, ::after, ::before {
    box-sizing: initial;
}

.full_w{
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.red-txt{
	color: red;
}

/*-----header------*/

#header{
	position: relative;
	width: 100%;
	background-color:rgba(255,255,255,0.97);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	max-height: 94px;
}

#header #logo{
	width: 5.05%;
	max-width: 86px;
	margin: 0.7rem 0 0.85rem 0.7rem;
}

#header #top-nav{
	width: 77%;
	display: flex;
	position: absolute;
	top: 1.8em;
	right: 7em;
}

#header #top-nav a{
	font-size: 0.9em;
	font-weight: bold;
	text-decoration: none;
	color: #333333;
}

#header #top-nav a:hover{
	color: #888888;
	border-bottom: 1px solid #888888;
}

#header #top-nav li{
	position: relative;
	width: 17%;
	text-align: center;
}

#header #top-nav li.long-h-txt{
	position: relative;
	width: 24%;
	text-align: center;
}

#header #top-nav li:not(:first-child) ::before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 2px;
	height: 0.8em;
	background: #444444;
}

.pc .shop_cart{
	width: 2.5%;
	text-align: center;
	position: absolute;
	top: 1.4em;
	right: 1em;
}

.pc .shop_cart a{
	display: block;
}

.pc .shop_cart img:hover{
	filter: brightness(0) saturate(100%) invert(21%) sepia(57%) saturate(3084%) hue-rotate(334deg) brightness(87%) contrast(95%);
}

/*-----main------*/

#main{
	padding-top: 85px;
}

#main .link-btn{
	width: 40%;
	max-width: 360px;
	margin: 10px auto 30px;
}

#main .link-btn:hover{
	filter: brightness(1.5);
}

.content-box h1{
	text-align: center;
	margin: 10px auto 30px;
	font-weight: bold;
	font-size: 150%;
}

.content-box h1::before,
.content-box h1::after {
	content: '■';
	font-size: 1.5em;
}

.content-box h1::before {
	margin-right: 23px;
}
.content-box h1::after {
	margin-left: 23px;
}

/*-----footer------*/

#footer{
    position: absolute;
    /*bottom: -2px;*/
	width: 100vw;
    font-family: "Noto Sans JP", san-serif;
}

/*footer上段*/
.box_contact {
    background-color: #d1d1d1;
    padding-top: 70px;
    padding-bottom: 50px;
    text-align: center;
    padding-right: 10px;
    padding-left: 10px;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #B4CACD;
}

.box_contact .box_in {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
}

.box_contact .btn {
	float: left;
	width: 50%;
}

.box_contact .btn a {
	font-size: 30px;
	line-height: 40px;
	background-color: #e27262;
	border: 5px solid #e27262;
	border-radius: 0;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	display: block;
	margin-right: auto;
	margin-left: auto;
	padding-top: 15px;
	padding-bottom: 15px;
	position: relative;
	max-width: 500px;
}

.box_contact .btn a:hover{
	background-color: white;
	color: #e27262;
}

.box_contact p {
	margin-top: 10px;
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: bold;
}

.box_contact .btn a i {
	padding-right: 10px;
	font-size: 120%;
}

.box_contact .fas {
	font-weight: 900;
	font-family: Font Awesome\ 5 Free;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
}

.fa-envelope:before {
	content: "\f0e0";
}

.box_contact .tel {
	float: right;
	width: 50%;
	padding-top: 1.7%;
}

.box_contact .tel a {
	color: inherit;
	font-size: 36px;
	font-weight: bold;
	text-decoration: none;
}

.box_contact .tel a i {
	padding-right: 10px;
	font-size: 120%;
}

.box_contact .tel a strong {
	font-size: 150%;
}

.box_contact p {
	font-size: 16px;
	margin-top: 20px;
	margin-bottom: 20px;
}

/*footer下段*/

#footer_box{
	display: block;
	background: #424242;
	color: white;
	height: 300px;/* フッター下部の高さ指定 */
	width: 100%;
	padding: 1em 0;
}

#company_f{
	width: 100%;
	padding-left: 20px;
}

#company_f h1{
	font-size: 180%;
	font-weight: bold;
	line-height: 1.8em;
	margin-top: 10px;
	margin-bottom: 15px;
}

#company_f .memo_f{
	font-size: 80%;
}

#company_f a{
	font-size: 16px;
	color: white;
	line-height: 2.5em;
}

.footer_bnr01 {
    width: 100%;
    text-align: center;
}

.footer_bnr01 img {
    width: 310px;
    margin: 20px auto -10px;
}

address {
    font-size: 10px;
    font-style: normal;
    padding-top: 20px;
    padding-bottom: 20px;
    letter-spacing: 1px;
    text-align: center;
    display: block;
    clear: both;
}