@charset "utf-8";
/*****************************************************

全ての要素をリセット
各ブラウザの表示を統一するための設定です

*****************************************************/
html {overflow-y: scroll;scroll-behavior: smooth;margin-top: 0 !important;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin: 0;padding: 0;outline:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;}
table {	border-collapse: collapse;border-spacing: 0;}
caption,p {text-align: left;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;text-align:left;}
img,abbr,acronym,fieldset {border: 0;}
li {list-style-type: none;}
img{vertical-align:middle;}
.line {font-size:1px;line-height:1px;}

body {
    color: #2a2f45;
    font-family: "Zen Kaku Gothic New", "Noto Sans JP","メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;
    font-weight:400;
    line-height: 2em;
    letter-spacing: 0.05em;
    text-size-adjust: 100%;
	margin-top:0!important;
	top: 0 !important;
}
table {border-collapse: collapse;}
.float_left {
    display: block;float: left;}
.float_right {
    display: block;float: right;}
.float_left_space {
    display: block;
    float: left;
    margin-right: 30px;
}
.float_right_space {
    display: block;
    float: right;
    margin-left: 30px;
}
.clear{clear:both;}
.w90{width:90%;}
.w80{width:80%;}
.w75{width:75%;}
.w70{width:70%;}
.w65{width:65%;}
.w60{width:60%;}
.w55{width:55%;}
.w50{width:50%;}
.w45{width:45%;}
.w40{width:40%;}
.w35{width:35%;}
.w30{width:30%;}
.w25{width:25%;}
.w20{width:20%;}
.min{font-family:"Zen Maru Gothic","游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.f-g{font-family:"Zen Maru Gothic","Noto Sans JP","メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;}
.grecaptcha-badge {
    box-shadow: gray 0px 0px 0px !important;
}

.grecaptcha-logo {
    display: none;
}
h1{
	font-size:1.8rem;
	line-height:1.5;
}
h2{
	font-size:1.5rem;
	line-height:1.5;
	font-weight:500;
}
/*****************************************************

コンテンツ

*****************************************************/
#wrap {
    width: 100%;
    height: auto;
    margin: 0px auto;
}

a:link {
    color: #2a2f45;
    text-decoration: none;
	cursor:pointer;
}

a:visited {
    color: #2a2f45;
    text-decoration: none;
	cursor:pointer;
}

.page a:link, .page a:visited {
    color:#2a2f45;
}

a:hover {
    text-decoration: none;
    color:#2a2f45;
	cursor:pointer;
	transition: background-color 0.3s ease;
}

a:active {
    text-decoration: none;
    color:  #2a2f45;
}

.clear::after {
	content: " ";
    visibility: hidden;
    display: block;
    font-size: 0px;
    clear: both;
    height: 0px;
}

* html .clear { zoom: 1; }
:first-child + html .clear { zoom: 1; }
a{transition: 0.3s ease-in-out;
  transition: background-color 0.3s ease;}
a img {transition: 0.3s ease-in-out;}

a img:hover, .shopnav a:hover, .foot-nav a:hover {
    opacity: 0.6;
}

a[href^="tel:"] {
    pointer-events: none;
    color:  #2a2f45;
}

@media screen and (max-width: 768px) {
    a[href^="tel:"] {
        pointer-events: auto !important;
    }
}

/********　google翻訳バー　**************************/

.goog-te-banner-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd {
  display: none !important;
}

/*****************************************************

メインヘッダー

*****************************************************/
header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	margin-top: 0;/* スクロール時の見え隠れ */
	transition: margin-top 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 下スクロール時 */
header.is-header-hidden {
	margin-top: calc(var(--header-height, 150px) * -1);
}

.front header {
	background-color: rgb(0 0 0 / 26%);
}
/* 動きを抑える設定をしている端末 */
@media (prefers-reduced-motion: reduce) {
	header {
		transition: none;
	}
}
.page-body header {
	border-bottom:1px solid #9fa0a0;
	background:#fff;
}
header .header-contents {
    width: 95%;
    max-width: 1600px;
    position: relative;
    z-index: 1;
    margin: 0px auto;
    top: 0px;
    left: 0px;
    box-sizing: border-box;
    padding:0.5rem 0 0 0;
}
.header-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header-box .logobox{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 50%;
}
.header-box .logobox .text{
	width:calc(100% - 60px);
	font-weight:500;
	line-height: 1.5rem;
}
.front .header-box .header-tools div.other p,
.front .header-box .logobox .text a{
	color:#fff;
}
.menu-content.show .logobox .text a{
	color:#2a2f45;
}
header .header-logo {
    width: 30%;
    max-width: 80px;
}
header .header-logo a img {
    width: 100%;
	min-width:60px;
}

.header-box .header-tools{
	display: flex;
	align-items: center;
	width: 50%;
	justify-content: flex-end;
}

.header-box .header-tools div.other p{
    text-align:right;
}
.header-box .header-tools div.overlay-contents{
    width: 10%;
}
.header-box .header-tools div.side-waku-yoshida{
    width: 65%;
}

.kensakubox-yoshida input{
	border:0px solid #2a2f45;
	width:100%;
	font-size:16px;
	background:#fff;
}
.kensakubox-yoshida .s-bt{
	min-width:35px;
}
.kensakubox-yoshida .s-bt #s-btn-subarea {
	width: 35px;
	padding:0.5rem;
	box-sizing:border-box;
	cursor:pointer;
}
.kensakubox-yoshida .sbu-bt{
	min-width:45px;
}
.kensakubox-yoshida .sbu-bt #s-btn-subarea {
	width: 45px;
	padding:0.5rem;
	box-sizing:border-box;
	cursor:pointer;
	border:0;background:#ffffff00;
}
.kensakubox-yoshida .s-bt #s-btn-subarea img,
.kensakubox-yoshida .sbu-bt #s-btn-subarea img{
	width:100%;
}
.kensakubox-yoshida .s-bt #s-btn-area{
	cursor:pointer;
	width:100%;
	padding: 0.5rem 0.5rem;
	box-sizing:border-box;
	position:relative;
	z-index:1;
}
.kensakubox-yoshida form{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 0.75px solid #2a2f45;
	border-radius:5px;
	padding: 0.25rem 0.5rem;
	width: 90%;
	max-width: 1400px;
	margin:0 auto;
	position:relative;
	background:#fff;
	box-sizing:border-box;
}
.content .kensakubox-yoshida form{
	width: 100%;
}
.front .kensakubox-yoshida form#form{
	border:1px solid #fff;
	background:#ffffff00;
	
}
.front .kensakubox-yoshida form#form input{
	color: #fff!important;
	background:#ffffff00;
}
.front .kensakubox-yoshida form#form input::placeholder {
  color: #fff;
}

.front .kensakubox-yoshida form#form:after{
	background:url(../image/common/ic-search-w.svg)no-repeat center;
}

.header-tools button{
	border:0;
	background:#ffffff00;
}
.header-tools button {
  border: 0;
  background: transparent;
}

/* JP・ENの通常表示 */
.header-tools .js-language-switch {
  padding: 0;
  color: #c3c3c3;
  font: inherit;
  cursor: pointer;
  transition: color 0.2s ease;
}

/* 選択中の言語だけ色を付ける */
.header-tools .js-language-switch.is-active {
  color: #2a2f45;
  font-weight: 500;
}
.front .header-tools .js-language-switch.is-active {
  color: #fff;
  font-weight: 500;
}
.overlay-contents .js-language-switch.is-active {
  color: #fff;
  font-weight: 500;
}
/* Google翻訳の標準プルダウンを画面外へ */
#gt-nvframe{display: none;}
.b7B4sd {
    align-items: center!important;
    background: #4d90fe!important;
    border-bottom: 1px solid rgb(218, 220, 224)!important;
    display: none!important;
    height: 56px!important;
    padding-right: 4px!important;
}
/* Google翻訳の標準プルダウンを画面外へ */
#google_translate_element {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
header .header-contents {
    padding:0;
}
.header-box{
	padding: 0.5rem 0;
}
.header-box .logobox{
	width: 30%;
}
.header-box .header-tools{
	width: 70%;
}
}
@media screen and (max-width: 700px) {
.header-box .logobox p{
	font-size:0.8rem;
	line-height:1.5rem;
}
header .header-logo {
    width: 100%;
}
.header-box .logobox{
	width: 20%;
}
.header-box .logobox .text{
	display:none;
}
.header-box .header-tools{
	width: 80%;
}
.header-box .header-tools div.overlay-contents{
    width: 55px;
}
}
@media screen and (max-width: 600px) {
header .header-logo a img {
	width:50px;
}
.other.pc{
	display:none;
}
.kensakubox-yoshida form{
	width: 95%;
	min-width:230px;
}
.header-box .header-tools div.side-waku-yoshida{
    width: 230px;
}
}
@media screen and (max-width: 460px) {

.menu-content.show .side-waku-yoshida{
	display:block!important;
}
}
@media screen and (max-width: 380px) {

.header-box .header-tools div.side-waku-yoshida{
	display:none;
}

}
/*****************************************************

ドロワーメニュー

*****************************************************/

.dr-menu, .dr-menu ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}
.openbtn {
    width: 44px;
    height: 44px;
    cursor: pointer;
    position: relative;
    z-index: 1002;
}
.openbtn span {
    display: inline-block;
    transition: 0.4s;
    position: absolute;
    left: 14px;
    height: 1.5px;
    background: #2a2f45;
    width: 50%;
}
.front .openbtn span {
    background: #ffffff;
}
.openbtn.active span {background: #2a2f45;}
.openbtn span:nth-of-type(1) {top: 20px;}
.openbtn span:nth-of-type(2) {top: 27px;}
.openbtn span:nth-of-type(3) {top: 34px;}

.openbtn.active span:nth-of-type(1) {
    width: 50%;
    top: 20px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
}
.openbtn.active span:nth-of-type(2) {
    opacity: 0;
}
.openbtn.active span:nth-of-type(3) {
    width: 50%;
    top: 32px;left: 13px;
    transform: translateY(-6px) rotate(45deg);
}
.dr-menu .has-child ul {
	max-height: 0px;
	overflow: hidden;
	transition: max-height 0.4s;
}
.dr-menu .has-child.is-open ul {
max-height: calc(100dvh - 120px);
	margin:0 auto;
}
.menu-content {
    float: right;
    width: 100%;
    max-width: 100%;
    position: fixed;
    left: 0px;
    bottom: 100%;
    height: 100%;
    background: #2a2f45;
    z-index: 10;
    backdrop-filter: blur(10px);
    overflow-y: auto;
    transition: bottom 0.5s ease-in-out;
}
.menu-content.show {
    bottom: 0px;
    left: 0px;
}
.menu-content.show .atama{
	width: 100%;
	background:#fff;
	padding: 0.5rem 0 0;
}
.menu-content.show .logobox{
	width:90%;
	max-width: 1400px;
	margin: 0 auto 0.5rem;
}
.menu-content.show .side-waku-yoshida{
	width:100%!important;
	margin:0 auto;
	padding: 1.5rem 0;
	background: #f3f3f3;
}

.menu-content ul.dr-menu {
    width: 90%;
    max-width: 1400px;
    margin: 1rem auto 0;
    float: none;
}
.menu-overlay.show {
    left: 0px;
    background: #2a2f45;
    z-index: 10;
    transition: background-color 1s, z-index;
}

.menu-content ul.overlay-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    margin: 5% auto 20%;
}
.menu-content ul.dr-menu {
    display: block;
    padding: 0.5rem 0 1rem;
}
.menu-content ul.dr-menu li {
    width: 100%;
    line-height: 1.5em;
    text-align: left;
    margin: 0 auto;
    position: relative;
    color:#fff;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding:0.8rem 0;
	cursor:pointer;
}
.menu-content ul.dr-menu > li > ul > li{
	width: 100%;
	border-top: 0px solid rgba(255, 255, 255, 0.2);
	padding:0;
	color:#fff;
}
.menu-content ul.dr-menu > li > ul > li a{
	padding:0.25rem 1rem;
}
.menu-content ul.dr-menu > li > ul > li a:before{
	content:"";
	padding:5px 10px 5px 5px;
	background: url(../image/common/icon_btkz.svg) no-repeat left center;
	background-size: 6px 10px;
}
.menu-content ul.dr-menu li a {
    display: block;
    text-align: left;
    font-size: 0.9em;
	color:#fff;
	
}
.menu-content ul.dr-menu > li > ul > li a:hover {
	background: rgba(255, 255, 255, 0.08);
}
.menu-content > ul.dr-menu > li.link > a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.4em;
	cursor: pointer;
}

.menu-content > ul.dr-menu > li.link > a::after {
	content: "";
	display: block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	background: url(../image/common/ic-link-w.svg) no-repeat center;
	background-size: contain;
}

.menu-content ul.dr-menu li span {
    display: contents;
}
.menu-content ul.dr-menu li p.anchor{
	position: relative;
}
.menu-content ul.dr-menu li p.anchor:before,
.menu-content ul.dr-menu li p.anchor:after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    width: 16px;
    top: 50%;
    margin-top: -1px;
    border-top: 2px solid #fff;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}
.menu-content ul.dr-menu li p.anchor:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
 }
.menu-content ul.dr-menu li.is-open .anchor:before {
    -webkit-transform: rotate(0);
     transform: rotate(0);
 }

.menu-content .sns {
    display: block;
	width: 50%;
}
.menu-content .sns ul li {
    text-align:left;
	width:100%;
}
.menu-content div.other{
    width: 50%;
}
.menu-content .sns ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 90%;
    flex-direction: column;
    align-content: flex-start;
}
.menu-content .sns ul li a{
    cursor: pointer;
    color:#fff;
    padding: 0rem 0;
	width:100%;
	display: block;
}
.menu-content .sns ul li a:hover{
    background: rgba(255, 255, 255, 0.08);
}
.menu-content .sns ul li a img{
	width:35px;
}
.openbtn {
    cursor: pointer;
    width: 55px;
    height: 55px;
    background: rgb(255, 255, 255);
    border-radius: 50px;
    z-index: 11;
    margin:0 auto;
}
.front .openbtn {
    background: rgb(255 255 255 / 0%);
}
.otherbox{
	display: flex;
	align-items: stretch;
	width: 90%;
	max-width:1400px;
	margin:0 auto;
	justify-content: space-between;
}

.otherbox .language span{
	border:0;
	background:#ffffff00;
	color:#fff;
}
@media screen and (max-width: 700px) {
.menu-content.show .logobox .text{
	width:50%;
	display:block;
	font-size:0.8rem;
}
.header-box .header-tools div.overlay-contents{
    width: 55px;
}
}
@media screen and (max-width: 600px) {
.overlay-menu li {
    width: 44%;
    margin: 2% 3%;
    font-size: 85%;
    line-height: 1.5em;
}

.menu-content ul.overlay-privacy li {
    width: 100%;
}

.menu-content ul.overlay-privacy li:first-child {
    padding: 0px 0px 10px;
    border-right: 0px solid;
    margin-right: 0%;
}
}

/*****************************************************

サブメニュー

*****************************************************/
/* =========================================
   上部サブメニュー
========================================= */

.submenu-content {
	position: relative;
	width: 100%;
	z-index: 0;
}

.submenu-content > ul {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.submenu-content > ul > li {
	flex: 1 1 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 0.9rem;
	line-height:1.5;
}
/* 通常リンク・プルダウンボタン */
.front .submenu-content > ul > li > a,
.front .submenu-content > ul > li > .anchor,
.front .submenu-content > ul > li.link > a{
	background: #ffffff00;
	color:#fff;
}
.submenu-content > ul > li > a,
.submenu-content > ul > li > .anchor {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 70px;
	height: 100%;
	margin: 0;
	padding: 10px 5px;
	box-sizing: border-box;
	color: #2a2f45;
	background: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
	color 0.3s ease,
	background-color 0.3s ease;
}
.submenu-content > ul > li.link > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	width: 100%;
	min-height: 70px;
	height: 100%;
	margin: 0;
	padding: 10px 20px;
	box-sizing: border-box;
	color: #2a2f45;
	background: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
	color 0.3s ease,
	background-color 0.3s ease;
}

.submenu-content > ul > li.link > a::after {
	content: "";
	display: block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	background: url(../image/common/ic-link.svg) no-repeat center;
	background-size: contain;
}
.front .submenu-content > ul > li.link > a::after {
	background: url(../image/common/ic-link-w.svg) no-repeat center;
}
/* 開いているメニュー */
.submenu-content > ul > li.is-open > .anchor {
	color: #fff;
	background: #2a2f45;
}

@media screen and (max-width: 1000px) {
.submenu-content > ul > li:last-child {
	display:none;
}
}
@media screen and (max-width: 900px) {
.submenu-content {
	display:none;
}
}
/* =========================================
   プルダウン本体
========================================= */

.submenu-content .js-pulldown__content {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 100;
	width: 100vw;
	max-width: none;
	padding: 0;
	background: #2a2f45;
	box-sizing: border-box;
	/* 初期状態 */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, -12px);
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease,
		transform 0.3s ease;
}

/* 開いた状態 */
.submenu-content > ul > li.is-open .js-pulldown__content {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

/* プルダウン全体 */
.submenu-content .js-pulldown__content {
	max-height: calc(100dvh - 150px);
	overflow-y: auto;
	overflow-x: hidden;
}
/* プルダウン内側 */
.submenu-content .js-pulldown__content .c-wrap {
	position: relative;
	width: 95%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 60px 50px;
	box-sizing: border-box;
}

.submenu-content .js-pulldown__content h2 {
	margin: 0 0 30px;
	padding: 0;
	color: #fff;
	font-size: 24px;
}

.submenu-content .js-pulldown__content h2 a {
	color: inherit;
	text-decoration: none;
    padding: 0;
    border-bottom: 0;
    padding-right: 20px;
    color: #fff;
    background: url(../image/common/icon_btkz.svg) no-repeat right center;
    background-size: 6px 12px;
}

/* 閉じるボタン */
.submenu-content .js-pulldown__content .close {
	position: absolute;
	top: 35px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	transition: opacity 0.3s ease;
}

.submenu-content .js-pulldown__content .close:hover {
	opacity: 0.6;
}

/* プルダウン内リスト */
.submenu-content .js-pulldown__content ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

/* 各項目 */
.submenu-content .js-pulldown__content ul li {
	margin: 0;
	padding: 0;
	background: #2a2f45;
	box-sizing: border-box;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	
}
.submenu-content .js-pulldown__content ul li a {
	width: 100%;
	padding: 0.5rem 1.25rem;
	min-height: 60px;
	display:flex;
	box-sizing: border-box;
	color: #fff;
	text-decoration: none;
	transition: background-color 0.3s ease;
	justify-content: space-between;
	align-items: center;
}
.submenu-content .js-pulldown__content ul li a::after {
	content:"";
	display:block;
	padding:5px 5px;
	background: url(../image/common/icon_btkz.svg) no-repeat right center;
    background-size: 6px 12px;
}

.submenu-content .js-pulldown__content ul li a:hover {
	background: rgba(255, 255, 255, 0.08);
}

@media screen and (max-width: 1000px) {
.submenu-content .js-pulldown__content ul {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
}

@media screen and (max-width: 700px) {
.submenu-content .js-pulldown__content ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
/*****************************************************

フッター

*****************************************************/
footer {
	width:100%;
    background: #f3f3f3;
    padding: 5rem 0px;
    border-top: 1.5px solid rgb(255, 255, 255);
}
footer .inner{
	width:90%;
	max-width:1400px;
	display: flex;
	justify-content: space-between;
	margin:0 auto;
	flex-wrap: wrap;
}

footer .inner .lbox{
	width:40%;
}
footer .inner .rbox{
	width:60%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
}
footer .ft-logo{
	width:100%;
	max-width: 320px;
	margin:0 0 2rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
footer .ft-logo .ph{
	width:30%;
	max-width: 100px;
}
footer .ft-logo img{
	width:100%;
}
footer .ft-logo .text{
	width: 70%;
	font-weight: 500;
	box-sizing:border-box;
}
footer .ft-logo .text span{
	display:block;
	font-size:1.5rem;
}
footer .sns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: baseline;
}
footer .sns ul li a{
	width:40px;
	height:40px;
	background:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 0.25rem;
	border-radius:50%;
}
footer .sns ul li a:hover{
	opacity:1;
	background: #b992209e;
}
footer .sns ul li img{
	width:100%;
	max-width:45px;
	opacity:1;
}
footer .inner .rbox .link{
	background:#fff;
	width:100%;
	max-width: 300px;
	text-align:center;
	margin:0 0 2rem;	
}
footer .inner .rbox > div.link > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	cursor: pointer;
	padding: 0.8rem 0;
}
footer .inner .rbox > div.link > a:hover {
	background:#2a2f45a3;
	color:#fff;
}
footer .inner .rbox > div.link > a::after {
	content: "";
	display: block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	background: url(../image/common/ic-link.svg) no-repeat center;
	background-size: contain;
}
footer .inner .rbox > div.link > a:hover:after {
	background: url(../image/common/ic-link-w.svg) no-repeat center;
}
.copyright p{
	font-size:0.8rem;
	font-weight:500;
	line-height:1.5;
}
@media screen and (max-width: 800px) {

footer .inner .lbox{
	width:100%;
	margin:0 0 2rem;
}
footer .ft-logo{
	width:100%;
	max-width: 320px;
	margin:0 auto 2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
footer .inner .rbox{
	width:100%;
	align-items: center;
}
footer .sns ul {
	justify-content: center;
}
}
@media screen and (max-width: 480px) {
footer .ft-logo{
	max-width: 200px;
	justify-content: center;
}
footer .ft-logo .ph,
footer .ft-logo .text{
	width: 100%;
}	
}
/*****************************************************

メインコンテンツ

*****************************************************/
.content{
	width:100%;
	margin-top: 155px;
}
.front .content{
	width:100%;
	margin-top:0;
}
@media screen and (max-width: 800px) {
.content{
	width:100%;
	margin-top: 90px;
}
}
@media screen and (max-width: 400px) {
.content{
	width:100%;
	margin-top: 80px;
}
}

.front-inner{
	width:100%;
}
.bg-box {
    position: relative;
    width: 100%;
    min-height: 100vh;
    box-sizing: border-box;
    overflow: hidden;
    background:#111;
	background-image: url('../image/common/main.webp'); 
  background-size: cover;
	background-position:center;
  background-repeat: no-repeat;
}



.main-logo {
    position: absolute;
    inset: 0;
    width: 100%;
    z-index: 3;
}
.main-logo .box {
    position: absolute;
    top: 50%;left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    display: flex;
    justify-content: center;
}

.main-logo .box .yoko {
    color: #fff;
    font-size: clamp(1.3rem, 5vw, 2rem);
    line-height: 1.8;
    text-align: center;
	opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

.main-logo .box .yoko span {
    display: block;
    text-orientation: mixed;
}

.main-logo .box span.small {
    font-size: clamp(0.8rem, 5vw, 1.1rem);
}

.main-logo .box .yoko span {
    display: block;
    text-orientation: mixed;
}
.main-logo .bt {
    position: absolute;
    left: 50%;
    bottom: clamp(30px, 8vh, 90px);
    transform: translateX(-50%);
    width: 90%;
    max-width: 250px;
	z-index:1;
}

.main-logo .bt a {
    border: 1px solid #fff;
    width: 100%;
    display: block;
    padding: 0.5rem 1rem;
    text-align: center;
    color: #fff;
    box-sizing: border-box;
}

.main-logo .bt a:hover {
    color: #2a2f45;
    background: #ffffffbd;
}

.product-area{
	width:100%;
}
.product-area h2{
	letter-spacing:0.25rem;
	text-align:center;
	padding: 6.0rem 0 4.5rem;
}
.product-box{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width:95%;
	max-width:1400px;
	margin:0 auto;
	justify-content: space-between;
}

.product-box .hako.w100{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	background: #efefef;
	overflow:hidden;
	position: relative;
	margin: 0 0 2%;
}
.product-box .hako.w50{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 49%;
	background: #efefef;
	overflow:hidden;
	position: relative;
	margin: 0 0 2%;
}

.product-box .hako.w100 .text{
	width: 50%;
	max-width: 400px;
	display:flex;
	align-items: center;
	flex-direction: row;
	align-content: center;
	flex-wrap: wrap;
	box-sizing:border-box;
	padding: clamp(2rem, 6vw, 5rem);
	padding-left: clamp(2rem, 6vw, 3rem);
	padding-right: clamp(2rem, 6vw, 3rem);
}
.product-box .hako.w50 .text{
	width:48%;
	box-sizing:border-box;
	padding: clamp(2rem, 6vw, 3rem);
	padding-left: clamp(2rem, 6vw, 3rem);
	padding-right: clamp(2rem, 6vw, 3rem);
}
.product-box .w50 .text .title,
.product-box .w100 .text .title{
	width:100%;
	font-size:1.8rem;
	font-weight:500;
	margin:0 0 1rem;
}
.product-box .w50 .title span,
.product-box .w100 .title span{
	display:block;
	font-size:0.8rem;
}
.product-box .w50 .text p,
.product-box .w100 .text p{
	width:100%;
	font-size:0.95rem;
	line-height:1.65;
}
.product-box .w50 .text .bt,
.product-box .w100 .text .bt{
	width:100%;
	max-width:200px;
	font-weight:500;
	margin:1rem 0 0 ;
	position:relative;
	z-index:2;
}
.product-box .w50 .text .bt a,
.product-box .w100 .text .bt a{
	display:block;
	border: 1px solid #2a2f45;
	box-sizing:border-box;
	padding:0.25rem 1rem;
	text-align:center;
}
.product-box .w50 .text .bt a:hover,
.product-box .w100 .text .bt a:hover{
	color:#fff;
	background:#2a2f45a3;
}

/* カードの共通設定 */
.product-box .hako.w100,
.product-box .hako.w50 {
	min-height: 450px;
	overflow:hidden;
}

/* 画像を配置する領域 */
.product-box .hako.w100 .ph,
.product-box .hako.w50 .ph {
	position: relative;
	align-self: stretch;
	height: 100%;
	margin-top: 0;
	margin-bottom: 0;
	z-index: 1;
}

.product-box .hako.w100 .ph {
	width: 50%;
}
.product-box .hako.w50 .ph {
	width: 48%;
}

/* 画像を通常フローから外す */
.product-box .hako.w100 .ph img,
.product-box .hako.w50 .ph img {
	position: absolute;
	top: 60%;
	left: 0;
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	transform: translateY(-50%);
}

.product-box .hako.w50 .ph img{
	width: 130%;
	top: 55%;
	left: -30%;
}
@media screen and (max-width: 1300px) {
.product-box .hako.w50 .ph img{
	width: 130%;
	top: 55%;
	/* left:-50%; */
}
	.product-box .hako.w100,
.product-box .hako.w50 {
	min-height: 300px;
}
}
@media screen and (max-width: 1000px) {

.product-box .hako.w100,
.product-box .hako.w50 {
	width: 100%;
	margin: 0 0 1rem;
	box-sizing: border-box;
	min-height: 400px;
}
.product-box .hako.w50 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.product-box .hako.w50 .text {
	width: 50%;
	max-width: 500px;
	display: flex;
	align-items: center;
	align-content: center;
	flex-direction: row;
	flex-wrap: wrap;
}

}
@media screen and (max-width: 1000px) {
.product-box .hako.w100 .ph,
.product-box .hako.w50 .ph {
	width: 40%;
}
.product-box .hako.w100 .text,
.product-box .hako.w50 .text {
	width: 60%;
	display: flex;
	justify-content: center;
}
.product-box .hako.w50 .ph img,
.product-box .hako.w100 .ph img {
	width:120%;
	top:70%;
}
}
@media screen and (max-width: 1000px) {
.product-box .hako.w100,
.product-box .hako.w50 {
	position: relative;
	min-height: 400px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
}
.product-box .hako.w50 .text,
.product-box .hako.w100 .text{
	width: 100%;
	max-width: none;
	text-align:center;
}
.product-box .hako.w50 .text p,
.product-box .hako.w100 .text p{
	text-align:center;
}
.product-box .hako.w100 .ph,
.product-box .hako.w50 .ph {
	width:100%;
	max-width:150px;
	height:10rem;
	align-self: center;
}
.product-box .hako.w50 .ph img,
.product-box .hako.w100 .ph img {
	width:100%;
	top: 50%;
	left:0;
}
}

.kensaku{
	width: 90%;
	max-width:300px;
	margin:0 auto;
	padding: 5.5rem 0 6rem;
}

/*****************************************************
	
	パンクズ
	
*****************************************************/
.page-inner{
	width:100%;
	padding:1rem 0;
	margin: 0 auto 5rem;
}
.pk-list{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	width:95%;
	max-width: 1400px;
	margin: 0 auto 1rem;
}
.pk-list ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	font-size:0.65rem;
	line-height:1rem;
}
.pk-list ul li a:after{
	content:'/';
	margin:0 0.5em;
}
@media screen and (max-width:640px)	{
.pk-list ul{
	display: block;
	text-align:right;
}
.pk-list ul li a:after{
	content:'|';
	margin:0 0.5em;
}
}
/*****************************************************

スライド

*****************************************************/
.shohin-slide {
	width: 100%;
	margin: 2rem 0 8rem;
}

/* 1600pxより外側に表示するグレー背景 */
.shohin-slide .slider-bg {
	width: 100%;
	background-color: #f3f3f3;
}

/* メインスライドは最大1600px */
.shohin-slide .slider {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto 2rem;	

}

/* Slickによる余分な隙間を防ぐ */
.shohin-slide .slick-slide {
	width:100%;
	max-width:100%;
	margin:0 auto;
	box-sizing:border-box;
	position: relative;
	aspect-ratio: 16 / 9;
}

/* メイン画像 */
.shohin-slide .slider img {
	width:100%;
	position: absolute;
	top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 見切れない */
  transform: translate(-50%, -50%); /* 中央寄せ */
}

/* サムネイル全体 */
.shohin-slide .thumbnail-wrap {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* サムネイル全体 */
.shohin-slide .thumbnail {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

/* 6枚以上なら左寄せ */
.shohin-slide .thumbnail:has(.thumbnail-img:nth-child(6)) {
	justify-content: flex-start;
}

/* PC：1行5枚 */
.shohin-slide .thumbnail-img {
	flex: 0 0 calc((100% - 40px) / 5);
	max-width: calc((100% - 40px) / 5);
}

/* サムネイル */
.shohin-slide .thumbnail-img {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 2px solid transparent;
	background: none;
	box-sizing: border-box;
	cursor: pointer;
	opacity: 0.65;
	transition:
		opacity 0.3s ease,
		border-color 0.3s ease;
}

.shohin-slide .thumbnail-img img {
	display: block;
	width: 100%;
	height: 80px;
	object-fit: cover;
}

.shohin-slide .thumbnail-img:hover {
	opacity: 1;
}

/* 現在表示中のサムネイル */
.shohin-slide .thumbnail-img.is-current {
	border-color: #2a2f45;
	opacity: 1;
}


/* タブレット */
@media screen and (max-width: 800px) {
.shohin-slide .slick-slide {
	height: auto;
}
.shohin-slide .slider img {
	width: 100%;
	height: 100%;
}
.shohin-slide {
	margin: 3rem auto;
}
.shohin-slide .thumbnail-wrap {
	width: 94%;
}
.shohin-slide .thumbnail {
	gap: 6px;
}

/* 最大4枚 */
.shohin-slide .thumbnail-img {
	flex-basis: calc((100% - 18px) / 4);
	max-width: calc((100% - 18px) / 4);
}
.shohin-slide .thumbnail-img img {
	height: 90px;
}
}

/* スマートフォン */
@media screen and (max-width: 480px) {

.shohin-slide .slick-slide {
	height: auto;
}
.shohin-slide .slider img {
	width: 100%;
	height: 100%;
}
.shohin-slide .thumbnail {
	justify-content: flex-start;
	gap: 8px;
}
/* 最大3枚 */
.shohin-slide .thumbnail-img {
	flex-basis: calc((100% - 16px) / 3);
	max-width: calc((100% - 16px) / 3);
}
.shohin-slide .thumbnail-img img {
	height: 90px;
}
}
/*****************************************************

ページ

*****************************************************/
.namebox-area{
	width:95%;
	max-width: 1400px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

@media screen and (max-width: 600px) {
.namebox-area{
	
	display: block;
}


}
.shohin-name{
	
}

.shohin-name .cat{
	display:inline-block;
	border:0.5px solid #2a2f45;
	padding:0 1rem;
	font-size:0.85rem;
	font-weight:500;
	margin: 0 0 1rem;
}
.shohin-name .makername{
	margin-top:0.5rem;
}
.shohin-name .makername span{
	background:#f4f4f4;
	padding:0.2rem 1rem;
	box-sizing:border-box;
	margin:0 1rem 0 0;
}
.shohin-shosai{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	margin:0 auto;
	width:95%;
	max-width: 1400px;
	margin: 0 auto 8rem;
}
.shohin-shosai h2{
	letter-spacing: 0.15rem;
	text-align:center;
}
.shohin-shosai .lbox{
	width:50%;
}
.shohin-shosai .rbox{
	width:50%;
}

.shohin-shosai .lbox .riyo{
	width: 90%;
	margin: 1rem auto 0;
}
.shohin-shosai .lbox .riyo > p{
	margin:0 0 2rem;
}
.shohin-shosai .product-use{
	margin:0 0 2rem;
}
.shohin-shosai .product-use span {
	display: inline-block;
   background: #f4f4f4;
	padding: 0.2rem 1rem;
	line-height: 1.5;
	margin:0 0 0.25rem;
}

.shohin-shosai .lbox .chu > ul{
	width: 90%;
	margin: 0 auto;
	padding-left: 1.2em;
}

.shohin-shosai .lbox .chu > ul li{
	position: relative;
	list-style: none;
	line-height: 1.5;
	padding: 0.25rem 0;
}

.shohin-shosai .lbox .chu > ul li::before{
	content: "";
	position: absolute;
	left: -1em;
	top: 1.0em;
	width: 0.3em;
	height: 0.3em;
	background: #2a2f45;
	border-radius: 50%;
	transform: translateY(-50%);
}
.spec-table {
	width: 90%;
	margin: 1rem auto 0;
	border: 0.5px solid #949495;
	border-collapse: collapse;
}

.spec-table th,
.spec-table td {
	padding: 0.8rem 2rem;
	border-bottom: 0.5px solid #949495;
	line-height: 1.7;
}

.spec-table th {
	width: 30%;
	background: #f4f4f4;
	text-align: left;
	font-weight: normal;
}

.spec-table td {width: 70%;}

.spec-table tr:last-child th,
.spec-table tr:last-child td {
	border-bottom: none;
}

.spec-table .manufacturing-info p {
	margin: 0;
}

/* スマートフォン */
@media screen and (max-width: 800px) {
.shohin-shosai .lbox{
	width:100%;
	order:2;
}
.shohin-shosai .rbox{
	width:100%;
	order: 1;
	margin:0 0 2rem;
}
.spec-table {
	width: 100%;
}

.spec-table,
.spec-table tbody,
.spec-table tr,
.spec-table th,
.spec-table td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.spec-table tr {
	border-bottom: 0.5px solid #949495;
}
.spec-table tr:last-child {
	border-bottom: none;
}

.spec-table th {
	padding: 0.5rem 1rem;
	border-bottom: none;
}
.spec-table td {
	padding: 0.65rem 1rem 0.8rem;
	border-bottom: none;
}
}

.shohin-concept{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	margin:0 auto;
	width:100%;
	margin: 0 auto 8rem;
}
.shohin-concept h2{
	letter-spacing:0.25rem;
	text-align:center;
}
.shohin-concept .hako{
		width: 50%;

}
.shohin-concept .hako:last-child:nth-child(odd) {
    width: 100%;
}

.shohin-concept .hako .inner{
		width: 90%;
	max-width: 500px;
	margin:5rem auto;

}
.shohin-concept .brand-kyusakichi{
	background:#f3f3f3;
}
.shohin-concept .brand-yoshidahamono{
	background:#2a2f45cc;
	color:#fff;
	position:relative;
}
.shohin-concept .brand-yoshidahamono:before{
	content:"";
	
	background:url(../image/common/ourstory-bg.jpg)no-repeat center;
	background-size:cover;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
}

.shohin-concept .hako .ph,
.shohin-concept .hako .ph{
	width:90%;
	max-width:150px;
	margin:3rem auto;
}
.shohin-concept .hako img,
.shohin-concep .hako img{
	width:100%;
	max-width:250px;
	margin:0 auto;
}
@media screen and (max-width: 800px) {
.shohin-concept .hako,
.shohin-concept .hako{
	width:100%;
}
}
.shohin-toi{
	width:95%;
	max-width: 1400px;
	margin:0 auto;
}
.shohin-toi .naiyo{
	max-width:500px;
	margin: 0 auto 2rem;
}
.shohin-toi h2{
	letter-spacing:0.25rem;
	text-align:center;
}
.shohin-toi p{
	padding:2rem;
}
.shohin-toi .code{
	padding: 0.5rem;
	text-align:center;
	background:#e4d4ad;
	margin:0 auto;
	width:70%;
	font-weight:500;
	line-height:1.5;
}
.shohin-toi .toi{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	margin: 0 0 2rem;
	box-sizing:border-box;
}
.shohin-toi .toi .rbox ,
.shohin-toi .toi .lbox{
	background:#f3f3f3;
	width:49%;
	text-align:center;
	
	box-sizing:border-box;
	font-weight:500;
}
.shohin-toi .toi .rbox a,
.shohin-toi .toi .lbox a{
	display:block;
	padding:5rem 0;
	font-size:1.5rem;
}
.shohin-toi .toi .rbox span,
.shohin-toi .toi .lbox span{
	display:block;
	font-size:1.0rem;
	margin:0 0 0.5rem;
}
.shohin-toi .waku{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: center;
	margin: 0 0 2rem;
	padding: 1rem 1rem;
	box-sizing:border-box;
	border: 1px solid #2a2f45;
}
.shohin-toi .waku .lbox,
.shohin-toi .waku .rbox{
	width:50%;
	box-sizing:border-box;
	padding:2rem ;
	line-height:1.5;
}
.shohin-toi .waku .lbox{
	text-align:center;
	border-right: 1px solid #2a2f45;
}
.shohin-toi .waku .rbox ul li{
	margin:0 0 0.75rem;
}
.shohin-toi .waku .rbox ul li:last-child{
	margin:0;
}
.shohin-toi .waku .rbox ul li > a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.4em;
	cursor: pointer;
}
.shohin-toi .waku .rbox ul li > a::before {
	content: "";
	display: block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	background: url(../image/common/ic-link.svg) no-repeat center;
	background-size: contain;
}
@media screen and (max-width: 800px) {
.shohin-toi .toi .rbox,
.shohin-toi .toi .lbox{
	width:100%;
	/* padding:3rem 0; */
	margin:0 0 1rem;
}
.shohin-toi .toi .rbox{
	margin:0 ;
}
.shohin-toi .waku{
	padding: 1.5rem;
}
.shohin-toi .waku .lbox,
.shohin-toi .waku .rbox{
	width:100%;
	padding:1rem 0 0;
}
.shohin-toi .waku .lbox{
	text-align:left;
	border-right:0 solid #2a2f45;
	border-bottom: 1px solid #2a2f45;
	padding:0 0 1rem;
}
}

.shohin-pickup{
	width:95%;
	max-width: 1400px;
	margin:0 auto　;
}
.shohin-pickup {
	width: 95%;
	max-width: 1400px;
	margin: 0 auto;
}

.shohin-pickup {
	width: 95%;
	max-width: 1400px;
	margin: 6rem auto;
}

.shohin-pickup {
	overflow-x: hidden;
}

.shohin-pickup ul.related-products {
	margin: 1rem 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	width: 103%;
}

.shohin-pickup ul.related-products li {
	width: 22%;
	margin: 0 3% 3rem 0;
	line-height:1.5rem;
}
.shohin-pickup ul.related-products li:nth-child(n+5) {
	display: none;
}
/* 4列目の右余白を削除 */
.shohin-pickup ul li:nth-child(5n) {
	margin-right: 0;
}

.shohin-pickup ul li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	align-items: center;
}

.shohin-pickup ul li .cat{
	font-size: clamp(0.8rem, 2vw ,0.85rem);
	font-weight:500;
	color:#2a2f45;
	line-height: 1.25rem;
	box-sizing:border-box;
	margin: 0.5rem 0 0.25rem;
	display:inline-block;
}

.shohin-pickup ul li .ph {
	width:100%;
	max-width:100%;
	margin:0 auto 1rem;
	box-sizing:border-box;
	position: relative;
	aspect-ratio:1/1;
	background-color: #efefef;
}
.shohin-pickup ul li .ph img {
	position: absolute;
	top: 50%;
	left: 50%;
	width:100%;
	height:100%;
	object-fit: cover; /* 見切れない */
	transform: translate(-50%, -50%); /* 中央寄せ */
}
.shohin-pickup ul li a .text {
	width: 100%;
}
.pdf-button{
	
	font-weight:500;
	margin:0 0 0 2rem;
	font-size:1rem;
}
.pdf-button a{
	display:block;
	background:#2a2f45a3;
	box-sizing:border-box;
	padding:0.55rem 1rem;
	text-align:center;
	color:#fff;
	line-height:1.3;
}
.pdf-button a span{
	display:block;
	font-size:0.65rem;

}
.pdf-button a:hover{
	background:#000000a3;
}
.pdf-button-bottom{
	display:none;

}
@media screen and (max-width: 800px) {
	.pdf-button a{
	
	padding:1.5rem 1rem;
}
.pdf-button a span{
	display:inline;
	font-size:1rem;
	margin-left:0.5rem;

}

	
	.pdf-button-head{
	display:none;

}
	.pdf-button-bottom{
	display:block;

}
	.pdf-button{
	
	margin:1rem 0 00;
	font-size:1rem;

}


}


@media screen and (max-width: 800px) {
.shohin-toi .naiyo{
	width:100%;
	max-width:none;
	margin: 0 auto 2rem;
}
.shohin-toi p{
	padding:2rem 0;
}
.shohin-pickup ul.related-products li {
	width:48%;
	margin: 0 4% 2rem 0;
}
.shohin-pickup ul.related-products li:nth-child(2n), 
.shohin-pickup ul.related-products li:nth-child(4n){
	margin-right: 0;
}

}

.products-archive{
	width:90%;
	max-width:1600px;
	margin:0 auto;
}
.products-archive .innerbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width:100%;
	margin: 3rem 0 0;
	align-items: flex-start;
}

/* 一覧サイドメニュー */
.sidebar{
	width: 20%;
	position: relative;
	margin: 0;
}
.sidebar .hako{
	width: 100%;
	margin: 0 auto;
	position: sticky;
	top: 159px;
	/* overflow-y: auto; */
	max-height: calc(100vh - 40px);
}

.sidebar .name{
	width:100%;
	background:#2a2f45;
	color:#fff;
	padding:0.85rem 1rem;
	box-sizing:border-box;
}
.sidebar ul.dr-menu{
	width:100%;
	margin: 0 0 1.5rem;
}
.sidebar ul.dr-menu,
.sidebar ul.dr-menu > li,
.sidebar ul.dr-menu > li > ul,
.sidebar ul.dr-menu > li > ul > li {
	width: 100%;
	box-sizing: border-box;
	cursor:pointer;
}
.sidebar ul.dr-menu > li {
    width: 100%;
    line-height: 1.5em;
    text-align: left;
    margin: 0 auto;
    position: relative;
    border-bottom: 1px solid #949495;
    padding:0.8rem 0;
}
.sidebar ul.dr-menu > li.has-child > ul {
	display: none;
}
.sidebar ul.dr-menu > li.has-child.is-open > ul {
    max-height: 1000px;
    margin:0 ;
}
.sidebar ul.dr-menu > li.has-child.is-open > ul > li:last-child{
	border-bottom: 0 solid rgb(255 255 255 / 0%);
}
.sidebar ul.dr-menu > li.has-child > ul > li{
	margin:0;
	position:relative;
	border-bottom: 1px dotted #949495;
}
.sidebar ul.dr-menu > li.has-child > ul > li a:after{
	content:">";
	position:absolute;
	top:50%;right:10px;
	margin-top: -14px;
}

.sidebar ul.dr-menu > li.has-child > ul > li > a {
    display: block;
    text-align: left;
    font-size: 0.9em;
    padding:0.5rem 1rem;
}
.sidebar ul.dr-menu > li.has-child > ul > li a:hover {
	background: #2a2f4575;
	color:#FFF;
}
.sidebar ul.dr-menu > li.has-child > ul > li a:hover:after{
	content:">";
	color:#fff;
}
.sidebar ul.dr-menu > li.has-child > p.anchor{
	position: relative;
	font-size: clamp(0.9rem, 1vw, 1.0rem);
}
.sidebar ul.dr-menu > li.has-child  > p.anchor:before,
.sidebar ul.dr-menu > li.has-child  > p.anchor:after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    width: 16px;
    top: 50%;
    margin-top: -1px;
    border-top: 2px solid #2a2f45;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}
.sidebar ul.dr-menu > li > p.anchor:before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
 }
.sidebar ul.dr-menu > li.is-open > .anchor:before {
    -webkit-transform: rotate(0);
     transform: rotate(0);
 }
.products-archive ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0;
	width:80%;
}
.products-archive ul.page-nav{
	width:100%;
}
.products-archive ul li{
	width:23%;
	margin:0 2% 3rem 0;
	
}
.products-archive ul li .ph{
	width:100%;
	max-width:100%;
	margin:0 auto 0.5rem;
	box-sizing:border-box;
	position: relative;
	aspect-ratio:1/1;
}
.products-archive ul li img{
	position: absolute;
	top: 50%;
	left: 50%;
	width:100%;
	height:100%;
	object-fit: cover; /* 見切れない */
	transform: translate(-50%, -50%); /* 中央寄せ */
}
.products-archive ul li .cat{
	font-size: clamp(0.8rem, 2vw ,0.85rem);
	font-weight:500;
	color:#2a2f45;
	line-height: 1.25rem;
	box-sizing:border-box;
	margin: 0.5rem 0 0.25rem;
	display:inline-block;
}
.products-archive ul li .cat span{
	margin:0 0.5rem 0 0;
}
.products-archive ul li .text{
	line-height: 1.25rem;
}
@media screen and (max-width: 1200px) {
.products-archive ul li{
	width:29%;
	margin: 0 4.33% 3rem 0;
}
}

@media screen and (max-width: 1000px) {
.products-archive ul li{
	width:46%;
	margin: 0 4% 3rem 0;
}
}
@media screen and (max-width: 900px) {
.sidebar{
	width: 100%;
}
.products-archive ul{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.products-archive ul li{
	width: 48%;
	margin: 0 4% 3rem 0;
}

.products-archive ul li:nth-child(2n){
	margin-right: 0;
}
}
.page-nav {
 display:block!important;
 margin: 0 auto 50px;
 padding-top:40px;
 font-size:0.9rem;
 text-align: center;
 clear: both;
	margin:0 0 7rem;
}

.page-nav li {
	display: inline;
	list-style: none outside none;
	margin:0 2px!important;
}
.page-nav li a {
	border: 1px solid rgb(230,230,230);
	color: #444!important;
	text-decoration: none;
	border-radius: 3px;
	background: #fff;
	margin:3px 0;

}
.page-nav li a:hover{
		background-color:#afca90;
		color:#fff!important;
		-webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	
	}

.page-nav li a:hover {
	border: 1px solid #afca90;
}
.page-nav li a:active {
	box-shadow: 0 0 3px rgba(0,0,0,0.2) inset;
	top:1px;
}

.page-nav li.current span {
	background-color: #444;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 0px 5px 3px inset;
	color:#fff;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	border-radius: 3px;
	margin:3px 0;
}
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span {
	background: #fff;
	border: 1px solid rgb(230,230,230);
	color: #999;
	text-decoration: none;
	border-radius: 3px;margin:3px 0;
}

.page-nav li.page_nums span {
	background: rgb(102,102,102);
	border: 1px solid rgb(51,51,51);
	color: rgb(255,255,255);
}
.page-nav li a,
.page-nav li.current span,
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span,
.page-nav li.page_nums span {
	padding: 0.25em 0.8em;
	display: inline-block;
	position:relative;
}

.commonpage{
	width: 90%;
	max-width: 1600px;
	margin: 2.5rem auto 1rem;
}



.form-box{
	margin:2rem auto;
}
.toi-form {
	position:relative;
}
.formtext{
	margin:2rem auto;
}
.check-form dt .akamoji,
.toi-form dt .akamoji{
	color:#cf2e2e;
}
.check-form dt,
.toi-form dt{
	width:99%;
	background: rgb(243 243 243);
	padding: 0.75rem 1rem;
	box-sizing:border-box;
}
.check-form dd,
.toi-form dd{
	padding:1rem 0 2rem;
	width:99%;box-sizing:border-box;
}

.form-box dd textarea{
	width:100%;
	padding:15px 1em;
	background: #fff;
	border:1px solid #ccc;
	border-radius:2px;
	font-size:110%;
	box-sizing:border-box;
}
.form-box dd input{
	width:100%;
	padding:15px 1em;
	background: #fff;
	border:1px solid #ccc;
	border-radius:2px;
	font-size:110%;
	box-sizing:border-box;
}
.check-form dd input,
.form-box dd.radio-s input{
	width:unset;
}
.form-box dd.form-s input{
	width:90%;
}

.form-box dd.karada-s input{
	width: 39%;
	margin:0 2.5% 30px;
}
.form-box dd.time-s input{
	width: 20%;
	margin:0 1.5% 30px;
}
.toi-form dd.nichi{
	padding:20px 0 0;
}

.toi-form dd.drop-bt{
	position:absolute;
	bottom:285px;
	left:200px;
}
.form-box select {
    width: 100%;
    max-width: 300px;
    padding: 8px;
    box-sizing: border-box;
    font-size: 90%;
    background: #ececec;
    border: 0;
    border-radius: 5px;
    outline: 0;

}
.time-s select{
width: 80px;
padding:15px;
margin:0 10px 5px;
font-size:110%;
}
@media only screen and (max-width: 500px) {
.form-box dd.form-s input{
	width:80%;
}
.form-box dd.time-s input,
.form-box dd.karada-s input{
	width: 80%;
	margin:0 0 30px;
}
	
}


.formrest{
	margin:2rem auto 7rem;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.checkboxarea label{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.checkboxarea label input{
width:25px;
margin:0.2rem 0.7rem 0 0;
	
}

.formrest input{
	display: block;
	text-align:center;
	margin:0 0.5rem 0 ;
 border:1.0px solid #111;
 background:#fff;
 box-sizing:border-box;
 padding:1rem 2em 1rem 2rem;
 font-size:0.9rem;
	line-height:1.3rem;
 border-radius:0px;
	width:150px;
 box-shadow: 0px 0px 0px 0px #111;
 -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	color:#111!important;
}



.formrest input:hover{
 box-shadow: 2px 2px 0px 0px #111;
}


.category-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
	margin:2rem 0;
	
}
.category-item {
   border:solid 0.5px #2a2f45;
	
}
.category-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.category-name{
	padding:0 1.2rem;
}
.category-name a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0;
    margin: 0.5rem 0 0.75rem;
	
}

.category-name a::after {
    content: '>';
    margin-left: 1rem;
    font-size: 1.1em;
}

.category-children {
    margin: 0rem 0 ;
    line-height: 1.6;
	font-size:0.95rem;
		padding:0.75rem 1.2rem 1.2rem;
	border-top:dotted 1px #2a2f45;

}

.category-children li {
    list-style: disc;
    padding: 0.1rem 0;
	margin-left:1.3rem;
}

.category-children a {
    display: block;
    padding: 0.1rem 0;
}


/* タブレット */
@media screen and (max-width: 900px) {
    .category-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px 30px;
    }
}


/* スマートフォン */
@media screen and (max-width: 600px) {
    .category-list {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .category-image {
        aspect-ratio: 16 / 9;
    }

    .category-name a {
        margin-top: 0.75rem;
    }
}
/*****************************************************

よくある質問

*****************************************************/
.secmenu-title{
	font-size:1.1rem;
	font-weight:500;
	margin:0 auto 1rem;
	padding: 0rem 1rem 0;
}
.secmenu-title span{
	font-size:1.8rem;
	margin-left:0.3rem;
}

.faqbox {
    width: 75%;
}

.qa-contents {
    margin: 0 auto 3rem;
}

.qa-contents dl {
    background: #fff;
    border-radius: 20px;
    margin: 0 auto 1.2rem;
    padding: 0.25rem 1rem;
    border: solid 0.5px #2a2f45;
    box-sizing: border-box;
}

/* 質問 */
.qa-contents dl dt {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    padding: 0.8em 1em;
    user-select: none;
    color: #2a2f45;
    margin: 0.25rem 0;
    cursor: pointer;
    position: relative;
}

.qa-contents dl dt .number {
    font-size: 1.3rem;
    font-weight: 300;
    border-right: 0.5px solid #2a2f45;
    width: 5rem;
    text-align: center;
    padding: 0.75rem 1rem 0.75rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.qa-contents dl dt p {
    width: calc(100% - 5rem);
    box-sizing: border-box;
    padding: 1rem 2rem;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    color: #2a2f45;
    background-size: 200% 100%;
    background-position: right bottom;
    transition: background-position 0.6s ease;
}

.qa-contents dl dt:hover p {
    background-position: left bottom;
}


/* 外側：高さの開閉を担当 */
.qa-contents dl dd {
    display: none;
    box-sizing: border-box;
    height: auto;
    min-height: 0;
    max-height: none;
    opacity: 1;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: none;
    transition: none;
}

/* 内側：横並びと余白を担当 */
.qa-contents dl dd .faq-answer-inner {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
	width:100%;
    margin: 0.25rem 0;
    padding: 0.8em 1em;
    border-top: 0.5px dotted #2a2f45;
}

.qa-contents dl dd .faq-answer-inner > .number,
.qa-contents dl dd .faq-answer-inner > .txtarea {
    margin-top: 0;
    margin-bottom: 0;
}

.qa-contents dl dd .number {
    font-size: 1.3rem;
    font-weight: 300;
    color: #c94750;
    border-right: 0.5px solid #c94750;
    width: 5rem;
    text-align: center;
    padding: 0.75rem 1rem 0.75rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.qa-contents dl dd .txtarea {
    display: flex;
    align-items: center;
    width: calc(100% - 5rem);
    box-sizing: border-box;
    padding: 1rem 0 1rem 2rem;
    line-height: 1.6rem;
}

.qa-contents dl dd .txtarea .a-inner {
    max-width: 1000px;
}

.qa-contents dl dd .txtarea .a-inner p {
    margin: 0.75rem 0;
}

.qa-contents dl dd .txtarea .a-inner .n-title {
    margin: 1.5rem 0 0.5rem;
    font-weight: 500;
    text-indent: -0.9rem;
    padding-left: 1rem;
}

.qa-contents dl dd .txtarea .a-inner ul {
    margin: 0 0 1.7rem 1.3rem;
    padding-left: 1.1rem;
	
}

.qa-contents dl dd .txtarea .a-inner ul li {
    margin: 0 0 0.25rem;
    position: relative;
	width:100%;
}

.qa-contents dl dd .txtarea .a-inner ul li::before {
    content: "";
    position: absolute;
    top: 0.4525rem;
    left: -1.2rem;
    height: 0.8rem;
    width: 0.8rem;
    border-radius: 50%;
    border: 3px solid #2a2f45;
    box-sizing: border-box;
}

.qa-contents dl dd a {
    text-decoration: underline;
	color:#c94750;
}

.qa-contents dl dd a:hover {
    text-decoration: none;
}

/* 開閉アイコン */
.qa-contents .toggle-icon {
    font-weight: bold;
    transition: transform 0.3s ease;
    user-select: none;
    width: 1.2em;
    text-align: center;
    margin-left: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    margin-top: -1rem;
    font-size: 0.8rem;
}
.faq-back {
	width:100%;
}
.faq-back a{
	max-width:250px;
	text-align:center;
	background: #f3f3f3;
	padding:0.8rem;
	box-sizing:border-box;
	margin:0 auto;
	display:block;
}
.faq-back a:hover{
	background:#2a2f45a3;
	color:#fff;
}
@media screen and (max-width:900px) {
.faqbox{
	width:100%;
	margin: 0 0 5rem;
}
.qa-contents dl{
	border-radius:4vw;
	padding:0.15rem 0.75rem;	
}
.qa-contents dl dt .number{
	font-size:1.3rem;
	width:2.5rem;
	text-align:center;
	padding:0.75rem 1rem 0.75rem 0; 
  }
.qa-contents dl dt p{
	width:calc(100% - 2.5rem);
	box-sizing:border-box;
	padding:1rem 2rem 1rem 1.5rem;
	font-size:1.05rem;
}
.qa-contents dl dd .number{
	font-size:1.3rem;
	width:2.5rem;
	text-align:center;
	padding:0.75rem 1rem 0.75rem 0;
}
.qa-contents dl dd .txtarea{
    width:calc(100% - 2.5rem);
	box-sizing:border-box;
	padding:0.5rem 0rem 0.5rem 1.5rem;
	font-size:0.95rem;
  }
}

.faq-archive ul.products-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0;
	width:80%;
}

.faq-archive ul.products-list li {
    width: 48%;
    margin: 0 2% 2rem 0;
}

.faq-archive ul.products-list li a {
    background: #fff;
    border-radius: 20px;
    padding: 1.5rem 3rem 1.5rem 1rem;
    border: solid 0.5px #2a2f45;
    box-sizing: border-box;
    display: block;
    position: relative;
    white-space: normal;
    overflow-wrap: anywhere;
}

.faq-archive ul.products-list li a:hover {
    background: #2a2f4575;
    color: #fff;
}

.faq-archive ul.products-list li a::after {
    content: "▼";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #2a2f45;
}

.faq-archive ul.products-list li a:hover::after {
    color: #fff;
}

.faq-archive ul.products-list li .ph{
	display:none;
}.faq-archive ul.products-list li .text{
	line-height: 1.5rem;
}
.faq-archive .sidebar ul.dr-menu > li {
    width: 100%;
    line-height: 1.5em;
    text-align: left;
    margin: 0 auto;
    position: relative;
    border-bottom: 1px solid #949495;
    padding:0;
}
.faq-archive .sidebar ul.dr-menu > li > a{
	display:block;
	padding: 0.8rem 1rem;
	box-sizing:border-box;
}
.faq-archive .sidebar ul.dr-menu > li > a:hover {
	background: #2a2f4575;
	color:#FFF;
}
@media screen and (max-width:900px) {
.faq-archive ul.products-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 1rem;
	width:100%;
}
.faq-archive ul.products-list li{
	width:48%;
	margin: 0 0 2rem 0;
}
}